Das ein Deaktivierungsereginis erst eintreten kann, wenn etwas auch mal aktiv war, leuchtet ja eigentlich ein ^^
Für was nutzt du "TForm1.FormDeActivate"? Sollte das OnDeactivate nicht bei Form2 sein? ...
Aber vlt. hilft dir ja das hier weiter:
http://www.swissdelphicenter.ch/de/showcode.php?id=261
PS: Ich weiß ja nicht, was du noch mit "Form2.activated" machst, aber währe TForm.Visible nicht evtl. das, was du suchst?