I'm pretty sure it'll be patched before you know it. I can already think of a technical way to fix this while maintaining the save game data feature, so no reason why PD won't be fixing this-
1) For every car bought / won, a GUID is assigned to the car
2) Game keeps a list of GUIDs in your system
3) The only way to lose this GUID is if you gift the car away (if you try to sell the car GUID stays)
4) When you try to get a car, the game checks if it has a GUID attached to it
5) It'll try to look up to see if that GUID is in your list
6) If it is, you cannot gift it. Otherwise it's OK.
So even if you try to sell it, the GUID stays, and you will not be able to gift the car back to yourself from a fake PSN.
Let's test this theory out:
Case 1: duplicating cars
0) Buy civic ("abc" GUID assigned to car and internal list)
1) Save game data
2) Gift civic to fake PSN ("abc" GUID is gone)
3) Delete game data
4) Restore game data ("abc" GUID is there)
5) Send civic can't do it since civic's "abc" GUID is found
Case 2: Selling car before gifting back
0) Buy civic ("abc" GUID assigned to car and internal list)
1) Save game data
2) Gift civic to fake PSN ("abc" GUID is gone)
3) Delete game data
4) Restore game data ("abc" GUID is there)
5) sell civic for money ("abc" GUID stays there)
6) Send civic can't do it since civic's "abc" GUID is found
Case 3: normal gifting still works
0) Buy civic ("abc" GUID assigned to car and internal list)
1) Gift civic to friend ("abc" GUID is gone)
2) Friend returns civic (able to do it since abc is gone from list)
1) For every car bought / won, a GUID is assigned to the car
2) Game keeps a list of GUIDs in your system
3) The only way to lose this GUID is if you gift the car away (if you try to sell the car GUID stays)
4) When you try to get a car, the game checks if it has a GUID attached to it
5) It'll try to look up to see if that GUID is in your list
6) If it is, you cannot gift it. Otherwise it's OK.
So even if you try to sell it, the GUID stays, and you will not be able to gift the car back to yourself from a fake PSN.
Let's test this theory out:
Case 1: duplicating cars
0) Buy civic ("abc" GUID assigned to car and internal list)
1) Save game data
2) Gift civic to fake PSN ("abc" GUID is gone)
3) Delete game data
4) Restore game data ("abc" GUID is there)
5) Send civic can't do it since civic's "abc" GUID is found
Case 2: Selling car before gifting back
0) Buy civic ("abc" GUID assigned to car and internal list)
1) Save game data
2) Gift civic to fake PSN ("abc" GUID is gone)
3) Delete game data
4) Restore game data ("abc" GUID is there)
5) sell civic for money ("abc" GUID stays there)
6) Send civic can't do it since civic's "abc" GUID is found
Case 3: normal gifting still works
0) Buy civic ("abc" GUID assigned to car and internal list)
1) Gift civic to friend ("abc" GUID is gone)
2) Friend returns civic (able to do it since abc is gone from list)