Hi Reaper, thanks for the reply.
All our machine already have the User Profile Hive Cleanup Service installed as default, but still have the problem with this machine.
I think the problem may be caused by the Windows fast logon optimization setting, which is on by default. This setting will start the logging on process before the network is ready, which could mean that it's trying to load a deault profile, then realises that the network is available and then start loading the profile from the network, which then corrupts the ntuser.dat and copies it back to the network when logging off.
The solution is to enable the following setting in the local group policy.
Computer Configuration -> Administrative Template -> System -> Logon -> Always wait for the network at computer startup and logon. This setting needs setting to enabled, and it will take 2 logons for it to take effect.
I don't if this solves my problem yet, but so far it seems to be working.
All the best
KarlB