Es gibt zu recht vielen funktionen auch eine Ex-Funktion. Deswegen heißt es noch lange nicht das die Funktionen ohne ex nicht benutzt werden sollen und lieber direkt die Ex-Funktionen genutzt werden sollen. Genau so verhält es sich auch mit ShellExecute und CreateProcess. Wenn man die zusätzlichen parameter von CreateProcess nicht benötigt, ist nix verwerfliches daran ShellExecute zu verwenden.
Schließlich erstellt man ja auch nicht alle
VCL-Klassen wie TForm, TButton etc. neu nur weil sie einige properties haben die man nicht benötigt. Es spricht in den wenigstens Fällen etwas gegen eine Kappselung.