If an Object can be created or released by a call to IExec->AllocSysObject(), then it is best to use that means to get a new Object.
The old CreateMsgPort() nowadays calls AllocSysObjectTags(ASOT_PORT, ...), so it is slower anyway.
The same goes for DOS Objects. Use the preferred means if you want to keep up with evolution.
[edit: Fixed function nameS]