What is the purpose?
For human reading, you can insert record number in layout mode, or add calculation field as Get ( RecordNumber ).
True your suggestions will work if all you want is a number. But, if he wants it to match his data source so he can prove/verify that the data is correct to those who read the report, then it another issue. Whether it can be solved without adding a column with the row numbers in it, I don't know.