Well, apparently you didn't use a check like in the snippet I posted to see if the cars are already spawned. As you can see, the snippet uses variable [email protected] to check if the cars are already spawned, or not.
First, the external script defines all of those variables to 0. Zero means they are not spawned, and one means cars are spawned. There's variable for each area, meaning that area A uses [email protected], area B uses [email protected] and so on. Once player goes into area A, the script then checks if the variable is zero or one. If it's zero, it spawns the random cars and sets the variable to one. Now, the script doesn't try to spawn new cars, until player leaves area A, which sets variable back to zero, and when he re-enters it, it once again spawns cars and sets it to one.
I hope that didn't sound too complicated. If it did, I can post a small example how it should work properly.