You could test for foundcount = recordcount.
There is also a specific error code returned if there is no valid find criteria that you can test for using Get ( LastError ) just after performing the find.
I looked into the Get ( LastError) method and found error code '400' is for when the find criteria are empty.
All seemed to work except, as this line has to go after the Perform Find instruction, the first of the records was populating the fields in the background (as technically ALL records were being found).
I added a line to constrain the found set to be where the ID was equal to " " (something it cannot be as it's an auto-entered serial number) and so there is no found records to populate the fields.
Thanks all for the help and the various possible solutions.