Thanks for your reply.
it is running as an application - i changed it to run as a service but that didn't help.
to test, i tried running CMD from both 32 & 64 folders and called the 32 & 64 cscript from both.
Turns out that it failed each time except when i ran the 32CMD with 32cscript.
i tried to set the start cmd to "C:\Windows\System32\cmd.exe /c C:\Windows\System32\cscript.exe /B /E:JScript %Script% %Params%" but this didn't help (i was still getting an OK reply when it should be bad)
Finally - i replaced the C:\Windows\SysWOW64\cscript.exe file with the 32bit version and this seemed to work!
From that, i assume that HM uses the x32 CMD and the x64 cscript by default regardless of if you specify the path or not.
I'm hoping you have a super fantastic fix/workaround for this
<<<<<<<<<<<<EDIT>>>>>>>>>>>>>>
i have had a reboot on both the host and the target. the path for the RebootPending key is no longer available to test (obviously), but i have just tried to look into it a little further and found that if i test another key in the path (SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version) it returns with the expected value (Bad). the strange thing is - HM is returning the correct reply as is all 4 of the above mentioned CMD line variations?
once i get clarification on exactly whats going on here i'll try to update the thread.
Many thanks!