wie bereits erwähnt ist das OnShow-Event der falsche Ort. Grund:
Du sagst mit "Application.ShowMainForm := False" das dein Mainform nie angezeigt werden soll also niemals ein Show ausgeführt werden soll. Entsprechend wird auch nie das OnShow ausgeführt