Just in case anyone else encounters this I'd thought I'd post.
The customer built a new server environment which meant I could test upgrade a copy of the LIVE DB in this environmet before attempting the main LIVE cutover and downtime.
This test MDM worked exactly as required.
I go to do again during live downtime and the MDM fails right at the start with an "Object not set to an instance of an object". Restore the original test DB and same. Hmm, lots of head scratching later.....
Solution it seems was to delete the previous MDM log file and then it worked fine again. Not sure why that would give an ONSTAIOAO
As a matter of policy we open out the security slightly on temp/wherever the MDM log files are kept to allow the local users, iusr, network and network system accounts modify rights. This seems to cure most things. It might help here too, just a thought.