De entrada, está muy raro eso de minimizar la ventana con doble clic, siendo que esa acción por defecto maximiza la ventana en lugar de minimizarla. Tampoco entiendo porqué quieres ocultar el botón de cerrar siendo que puedes evitar que cierren la ventana con el evento CloseQuery.
Aún así, algo que puedes hacer es inhabilitar el botón Cerrar en lugar de quitar el menú de sistema. Con la función siguiente:
Código Delphi
[-]
procedure EnableSysCloseItem(Handle: HWND; Enable: Boolean);
const
Flags : array[Boolean] of Integer = (MF_DISABLED, MF_ENABLED);
var
SysMenu : HMENU;
begin
SysMenu := GetSystemMenu(Handle, false);
EnableMenuItem(SysMenu, SC_CLOSE, MF_BYCOMMAND or Flags[Enable]);
end;
puedes habilitar o inhabilitar dicho botón y aún preservas los otros botones.
// Saludos