KeyBoy lo que habias puesto era lo mismo que tenia yo, jejeje. La respuesta me la ha dado chackall, enviandole el comando SC_RESTORES justo antes del ShowWindow ha funcionado sin problemas.
Código:
hApp := fmMain.FindWindowByTitle([titulo aplicacion]);
SendMessage(hApp, WM_SYSCOMMAND, SC_RESTORE, 0);
ShowWindow(hApp, SW_RESTORE);
Mil gracias