Para deshabilitar el botón cerrar sin deshabilitar el resto puedes usar esta función
Código:
procedure EnableSysCloseItem(Handle: HWND; Enable: Boolean);
const
Flags : array[Boolean] of Integer = (MF_GRAYED, MF_ENABLED);
var
SysMenu : HMENU;
begin
SysMenu := GetSystemMenu(Handle, false);
EnableMenuItem(SysMenu, SC_CLOSE, MF_BYCOMMAND or Flags[Enable]);
end;
// Saludos