Hi Dhanya,
The approach u did (load to a copy object taking only last record, changing its valid to to 01.01.1000 and loading back) will not work on Master data because it is not a DSO, with the Proper keys in place, to overwrite all the previously existing data records. This approach will only work if the infoobject is not time dependent and in that case the question u posed will not arise at all .
SOLUTION:
One thing is Inevitable as Prashanth has prescribed, u have to delete the transaction data first at all the places, where and all it was used.
Then just delete the entire master data from the info object and just do a FULL DTP load from the underlying datasource putting a FILTER like "VALID_TO = 31.12.9999" so that only the last record of a particular Value will be loaded. (No need to do a full load from the source because even in the source it might had been the same old Values and might not have been revamped.)
Even for further delta's, it will be safer to maintain this filter at the DTP level if u r not sure of the constant value maintenance at the source.
Thanks & Regards
Sasidhar