スクリーンキーボードが表示されているかどうかを検出する方法

WinAPI 関数 IsWindowVisible を使用できます。

Visual Basic では次のようになります。
Dim hWnd As Long 
hWnd = FindWindow("TMainKeyboardForm", vbNullString) 
If (IsWindowVisible(hWnd)) Then ........