I have done this many times before but I have never had it where two users finish up selecting the same record. This is probably due to the speed dial that I have added to the telemarketing system which means the telemarketers are going through the list a lot quicker and so are more likely to collide.
basically I have a list of numbers which is recreated on each run of the script and the relevant part of the script is as follows:
Sort Records [Restore; No dialog] (Keep records in sorted order is checked and the sort is on d_lastcall in ascending order)
Go to Record/Request/Page [first]
Set Field [d_lastcallTimeStamp; Get( CurrentTimeStamp))
Commit Records/Requests 
My understanding is that if there are two users that are starting the script at the same time one of them is given priority by the server and the next one should get the next number as the Keep records in sorted order is checked so teh first record will drop to being the last record. Unfortunatly there is a lot of occasions where two users are trying to call the same number by between 1 and 5 seconds apart (from my transaction log) .
Anyone got any ideas. I don't want to slow it down by installing a lock so only one person can be in the table at one time but that is my next option.