Según la documentación, GetFocus te dará el identificador de la ventana con el foco sólo si esta venana pertenece al hilo que hace la llamada. Aunque no estoy seguro me parece que puedes intentar usar la función AttachThreadInput para "pegar" el hilo de tu aplicación al del que tenga la ventana con el foco. Puedes ver un ejemplo del uso de AttachThreadInput en
http://www.clubdelphi.com/users/roman/uiapp.php, específicamente dentro del procedimiento AppWndProc.
// Saludos