Can you post your OSD script, without sensitive data, of course...:) ?
I have seen this happen if the image being deployed was not sysprepped first. This tends to cause the machine to lay down with the exact same name each time. When your machines are getting the 'wrong' name, are they getting the same name, or are they getting different, but still incorrect names?
The image has been sysprepped and the machines are getting different incorrect names in correct sequence. We have several buildings here that use the same image from the same location, but I have different jobs set up in PXE. The jobs were created by editing one and saving as something else instead of making each one from scratch since the name was the only difference. Each building has its own create and deploy folders in PXE. What is happening is that the machine is pulling the wrong job for the machine name. Other than that, everything else is fine. I hope that makes sense.