Hola,
Una posible solución pasa por lo que ha comentado Domingo:
Código Delphi
[-]
SetForegroundWindow(self.Handle);
PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
PostMessage(self.Handle, WM_NULL, 0, 0);
Echa un vistazo a la ayuda de la función "TrackPopupMenu" (del API de Windows) para más información.