Komisch, dein Beispiel geht bei mir auch nicht.
Wenn man nur eine Form nimmt (Form1) und dort ins OnActivate
Close schreibt, dann wird's ausgeführt.
Ich hab deinen Code mal überprüft, nach dem Hochzählen ist bFirstTime immer noch true.
achja, gehört ja so.