Bei Delphi ist alles ein Fenster/Window.
> rate mal, warum es Windows heißt
Auch ein Edit und ein Button sind Windows.
Also darfst du nicht nur auf deine Fenster reagieren, sondern auf Alles, was zu einem Program gehört.
Lösung, wenn es nur dein Hauptfenster betrifft, welches ignoriert werden soll.
gefundenes Window mit deinem Fensterhandle vergleichen und wenn nicht, dann solange den Parent prüfen, bis man an oberster Ebene angekommen ist oder bis du an deinem Fenster ankommst.
Sonstige Lösung: Die Prozess-ID zum Fenster auslesen und mit der deines Programmes vergleichen.
PS: ein globaler Hook, welcher auf Fensterwechsel reagiert, wäre wohl auch ganzt nett, anstatt des Timers.
PPS: Was soll eigentlich der doppelte Vergleichscode?