There are several schools of thought on this problem.
One school says to find the maximum number and create a new record with that number + 1, then SAVE IT NOW even though it is blank. Update it in its mostly blank state so that you take out a reservation on the number. The idea is that you leave open a very small window of opportunity for a number collision, but if you do the operation quickly enough, that window is VERY small.
Another school says, just make that field a "No Dups" field and if a trap occurs while allocating it, just have the trap handler reset the (now non-unique) field to another number and have it try to store that record again. Don't worry about allocating numbers in a specific order completely. Let Access do some of that worrying for you.
A third school asks "Why does this number have to be contiguously and monotonically incremented?" What is so special about it that non-contiguous numbering kills your business model? You could have record deletions that lead to numbering gaps if you allocate a record and your customer says, "Oh, darn - I'll have to cancel this now and come back later when I have enough money in the bank" (or something similar.)
Further, you might face a case where if you have two clerks with two different sized orders, even though the one with the bigger order started first, the one with the smaller order will FINISH first, and you could thus end up with the interesting case that if you view the orders sorted by closing timestamp, the order numbers will not be monotonic, and if you sort by order number, the transaction finishing times won't be in order. And you can't really stop that completely.