• 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.