If you were to insert some pause steps or used the script debugger (FileMaker Advanced) to step through this script slowly, you'd find that....
The newly duplicated record becomes the last record in your found set and thus go to record [next ; exit after last] exits the loop.
I would use Exit Loop If [ Get (FoundCount ) = 0 ]
to exit the loop and then would do the following at the end of the loop:
Go to record/Request/page [first]
the first omit omits the newly created record from the found set. The next two steps omit the original record from which it was dupilcated.
Thanks once again Phil. Works like a charm. I suspected that I was exiting on the last record but couldn't figure out any way around it.