For some reason unbeknown to myself, a client had to rejoin their CRM server back to the domain. This however stopped the CRM service from re-launching.
We narrowed the problem down to the fact that because the CRM server had been removed from the domain its entries had also been removed from the security groups in AD (PrivUserGroup, ReportingGroup etc..) that were needed to trust the CRM server that are added when CRM is installed.
This does make sense as the entries would be removed when the machines is removed from the domain controller.
Just add the entries and restart.
Jonathan