I didn't realise that was directed at me!
Since we are not talking about finding the last used row this time, but the last row last time so that we can determine new records, it seems to me that there are two options:
1. Do a match up exercise on all records, update existing ones and add new. This would obviously be most robust.
2. Store information about the last row each time and only add from there in the next code run. Depending on the controls in place on the workbook, this may or may not represent an acceptable risk.

Obviously, I was being lazy and answering the question asked, rather than necessarily providing the optimal solution...