I think in my testing I had arrowed down to a selection so it showed in the Entry, then I typed another value and the list remained dropped, then I tabbed out with the non-list value.
For me I know this Win32 message will Drop the Combo or roll it up.
ListDrop PROCEDURE(LONG F, BYTE U=0) !0=Dn 1=Up
CODE !CB_SHOWDROPDOWN = &H14F
PostMessage(PWnd$F{PROP:Handle},14Fh,U-1,0)
You may want to try State=SendMessage(Handle,CB_GETDROPPEDSTATE,0,0). It returns True if dropped
There probably are API messages for Dropping and UnDrop if you subclass.