It wouldn't run at all if it weren't getting any crank position signal, I don't think the PCM/ECU wouldn't even attempt to send spark timing without that and you wouldn't have spark. TMK that's the one truly essential sensor for a running (zetec) engine, the rest can be "guessed" by learned previous data, such as TPS or IAT in comparison to MAF readings. It wouldn't run great without the rest, but it would run.
I've had a similar problem to yours (lived in WI until recently) and once it absolutely cleared up after unplugging the MAF harness. I just checked and there are at least two and maybe three sensors integrated into the MAF housing, definitely the MAF sensor itself and the IAT sensor separately. One of those probably uses two separate resistors for a signal, cause I can't think what, if any, a third sensor could possibly be.
I would unplug the battery for a good while for so the PCM loses it's "learned data", pull the MAF sensor housing, and very carefully (with a q tip and electronics cleaner) make sure those resistors and wiring are squeaky clean.
I can tell you how to test, with a voltmeter, some known good signal voltages and you can compare it to what you're seeing, but you need an automotive grade
multimeter, alligator clips and regular small paper clips and some familiarity with "backprobing" to at least somewhat interpret what those sensors are reading key on/ engine off and idling/running. I'll probably get some known good values later just for the practice and maybe see if there is a third sensor in there.
tl;dr : I'd investigate the MAF sensor further