However I cannot see any way of returning a value (other than the record count) from an "Execute" statement, as shown with the Delphi Output Param example.
I'm assuming you are referring to TMS Aurelius, not TMS XData, so I'm changing the topic category.
No, Aurelius doesn't support output parameters, but usually you can return values as fields. For example, Aurelius executes this kind of command to insert and retrieve the inserted ID (for example, for Firebird. It depends on the database):