There may be a couple of reasons - but since you didn't post the OS and version, I'll just have to hope this also applies to your OS (it probably does)
And if I remember correctly, print queues will usually print smaller files first (no matter the OS) - could be a problem on a different print queue than just your OS. You need to also mention the how's and where's - is this a UNIX only print queue or does it ship it off to a LAN/WAN print queue in NT or some other OS?
You might look to see if there is a hold option for your lp command - if so, putting all printjobs on hold and then releasing once they are all there may solve your problem (you will still need to check that it's not going to re-arrange the jobs by size).
Thanks for the followup, RTM. Sorry about the missing information. This problem is occurring on Solaris 8. Your response makes sense in that these files can vary in size.
Only one type of print is sent to the print queue in question. Typically, a large number of debit memos are sent to be printed at one time. The order is important to the people who process the debit memos. In an attempt to rectify, I have put a wait into the script between LP statements, hoping that the delay will allow the file to be processed and the order to be maintained. Seems to be working fine so far, but the sample size is small.