I'm having some trouble with a display object that I use to trigger a sub. The results of the display object are either true or false, and I use the _Change method. The code is quite simple.
Private Sub clamshellLblRequest_Change()
    If Not tagDisplay Is Nothing Then
        GoTo execute
    Else
        Set tagDisplay = LoadedDisplays
        GoTo execute
    End If
execute:
        If clamshellLblRequest.Value = 1 Then
            LogDiagnosticsMessage "Requesting clamshell label information"
            Call labels.clamshell
        End If
End Sub
When I first start the application, I get a "type mismatch" error (13) specific to this value. I have several other display objects that I use the same way with the same datatype but don't seem to have this problem. What else could be causing this?
Update: I have a module I use standard timers with that include the following.
Public Sub tenthSec()
    'Create a program delay, DateTime Timer resolution in MSWindows is 0.01.  Needed for tag updates.
    t = Timer
    While Timer - t < 0.1
    Wend
End Sub
When I execute call timers.tenthSec just before evaluating the value of the object, it doesn't seem to throw the type mismatch.
...    
execute:
        Call timers.tenthSec
        If clamshellLblRequest.Value = 1 Then
            LogDiagnosticsMessage "Requesting clamshell label information"
            Call labels.clamshell
        End If
End Sub
I wouldn't call this a solution, perhaps a band-aid. Any thoughts?