I'm pretty sure the problem is something to do with the ignition switch. The easiest way to know is to simply over-ride the switch. Hot wire the car. If you hot wire it and the car stays running, then you know the problem is most likely the ignition switch. If you hot wire it and the car does the same thing, then your problem is not the switch. Also, if any of the inputs to the switch are messed up, you may change the switch for no reason because you will still have the same problem afterwards. To hot wire, do as follows,
coming off the ignition switch you will see a few wires. Strip the black/yellow (ignition), strip the white (constant 12v), and strip the black/white (starter). If the car is manual, press the clutch and touch the black/yellow and white together, then simply touch the black/white to the two (car will crank and start at this point). If the car is automatic, do the same but forget about the clutch part. If the car stays running after the hot wire, then your ignition switch is probably done. Good luck!