To me it kinda sounds crank sensor related.

Because you have power to the ICM, but then no spark, because the PCM does not read the CKPS.

Crank sensor can be very picky like that, and will cause the tach to read zero also sometimes.