I've put a Nodiz on mine along with a coil pack to get rid of the dizzy and standard coil. It works very nicely so far (been on there about a year now) and is compatible with the standard Vauxhall 60-2 trigger wheel. Their instructions can be a bit wrong depending on the age of your c20xe but I can help if required. Comes with a loom, programming software and even a dash app for your mobile. I also found the support from Motorsport Electronics to be very good if you ring them up.
It has the benefit of being much, much cheaper than some of the alternatives including Omex by the time you account for the loom, programming setup etc.
The downsides so far were the instructions being wrong for my engine (an early Coscast 20XE), and the programming software was flaky at the time (has been updated since but I haven't had cause to use it).
I also don't see how your TPS was affecting the mixture on a carb setup, but that might just be my lack of understanding.
Having said all of the above, if it's revs related it sounds like a possible crank sensor issue. You say that you changed it but was it with the same type? Early ones came with metal body sensors which have a small plastic shim ring in the block. If you replace the sensor with the later plastic body version (which has a step in the body), you have to remove the ring from the block or the newer sensor sits too far from the trigger wheel and gives up at high RPM.