Everyone is right - post the entire code and it will be much easier to assist you.
By any chance, are your dev and test servers single-processor servers or some kind of VMWare, and your production server a milti-processor system?
Lastly, the comment about avoiding a cursor is strange. They would be typically avoided to improve performance (SQL is not great at looping). This procedure, however, avoided it by using a looping process that is most likely slower than a cursor. I am curious as to what you were trying to avoid.