I googled around a bit for your issue, and found the reason behind the same. When you send files to the printer to be printed, the list of files is sorted and sent to the printer in that order. However some files in your list may take longer to process than other files so the order on the spooler isn't necessarily the same.
You may resolve this issue, by inserting the following code snippet in your macro. Add it after you issue a command to print the PDF.
Application.Wait Now + TimeValue("00:00:06")
This will make the macro wait after sending one print command to the printer before sending the next one. Hence, ensuring that the print order remains the same.
Adjust the time in case the printing order is still incorrect.
Hope this works.