As it's an ETZ am I right in assuming it will be running on points? Do you have access to a multimeter? If not, I'd be tempted to buy one. They can be had for around a fiver these days.
When the ignition switch is set to 'run' there should be 12V going to one of the terminals on the coil (the feed from the switch), and the other should run to earth via the points (i.e. the circuit should be complete when the points are closed, and broken when they open). At the moment the points open, the circuit is broken, the magnetic field in the coil collapses, and a spark is produced at the spark plug. Sorry, I once wrote an excellent tutorial on how to suck eggs as well!
The fact it sparks when you switch it off would suggest to me that the power is getting from the switch to the coil as it should, but that there is a problem with either the wire to the points, or the points themselves, and the second terminal of the coil is being connected to earth permanently. When you turn off the ignition switch, it's effectively doing what the points should do, and 'switching off' the coil, causing the field to collapse, and a spark to be produced.
Sorry, I once wrote an excellent tutorial on how to suck eggs, too!