A little bit of further info..
Turning on object fail auditing gives rise to event 4656:
Object:
Object Server:SC Manager
Object Type:SC_MANAGER OBJECT
Object Name:ServicesActive
Handle ID:0x0
Process Information:
Process ID:0x208
Process Name:C:\Windows\System32\services.exe
Access Request Information:
Transaction ID:{00000000-0000-0000-0000-000000000000}
Accesses:Connect to service controller
Enumerate services
Access Reasons:-
Access Mask:0x5
Privileges Used for Access Check:-
Restricted SID Count:0
This seems to imply that there's a failure to access the service controller to enumerate the object. It's strange that this should occur on a connection from the SQL job (that's meant to be local, and responds as such) and not a SQLPS, or even a SQLPS initiated from the management studio that's supposed to operate in the same context.
I'll kick this around as soon as I get time, unless anyone's come up with an answer they're willing to share. I suspect it's going to mean editing the auth strings for the SCM.