Hola cocute.
En el equipo que utilizo no me ocurre ese efecto, pero estoy seguro que el código que lo produce es este:
Código Delphi
[-]
procedure TForm1.ComboBox1CloseUp(Sender: TObject);
begin
SendMessage(ComboBox1.handle,CB_SHOWDROPDOWN,Integer(FComboOpen), 0);
end;
Esa línea, es la que manda el mensaje de desplegar la lista cuando se realiza PopupMenu1.Popup, por que la misma se repliega al abrirse este último.
No encontré otro modo impedir que se contraiga ya que no hay eventos para prevenir este comportamiento.
Creo que ahí está el nudo de la cuestión.
Si encuentro otra forma más adecuada te aviso.
Saludos.