I tested some more with this, and it's not consistent.
If I'm logged into the admin GUI, and I go to "Manage Orders" on a pending order (/admin/orders.php), and I press the button "Accept Order", this triggers the CreateAccount function, and if I return an error message, the order is not activated, and the error message is shown. Great, works as expected.
If I instead go on Products/Services (/admin/clientservices.php), and I select "Status: Active" and press button "Save Changes", the following happens:
* CreateAccount is NOT called
* AdminServicesTabFieldsSave is called, but returning an error message does nothing
* "Changes Saved Successfully!" is shown, even thou the module fields were not saved
* Status is set to Active
So at this stage I have successfully activated the order/service without provisioning the service.