Right! Update time...
So, last weekend I spent a lot of time putting everything back together - refilling the coolant (it was preeetty manky), refitting vacuum hoses, etc., etc...
Then came the moment to try firing her up, after figuring out the firing order for the wasted spark coils, etc..
I set a cranking advance of 12 degrees, and set the advance to be fixed. Batch fire, 2 squirts per cycle, after calculating the required fuel and therefore the pulse width.
Oh and due to a small miscalculation (I was tired and I got confused), the first tooth is at 115 degrees BTDC. Again, doesn't matter for the Megasquirt.

However, cranking it, I could hear it start to fire, but it would eventually just backfire and die, never to run again. So... I went back to the drawing board and looked over all the settings. I didn't realise I needed to calculate an initial fuel map, so I did that:

Ah - that looks better! But it still didn't explain the backfiring and the no start. I then looked at the tooth viewer and saw some sync losses, which seemed to correspond with the engine catching and firing. The strange thing was that the tooth waveform looked perfect, so why would it be a sync loss? I was at a loss... Noise due to injectors firing? Shouldn't be as I used screened cable and routed the crank sensor wiring round the other side of the engine to the injector wiring. I swapped to another earth point for the ECU, but that made no difference:

My first thought was that it was a spurious cam sensor signal, but no. Definitely sync loss. I couldn't understand it as everything checked out! I'd also checked the cranking timing with a timing light and it was spot on. Test mode checked out ok with all injectors and all sparks firing.
I knew I was running a very, very old version of the firmware, so I grabbed the latest and uploaded it (clutching at straws).
Then tried again. Even worse this time! No spark. What on earth was going on?
But, no sync loss.
Eventually, I figured out that during cranking, both spark and fuel were being cut. I meticulously went through all the settings, wondering what would cause them to be cut. Eventually, I happened on the overboost protection! I'd set it at 100kpa - now maybe that was a carryover from the previous firmware. Not sure.

But then I realised that it was 100kPa absolute! Not 100kPa boost pressure. I blame the software - it's confusing. Boost should mean boost, not absolute MAP sensor reading. Atmospheric pressure is about 100kPa, so I'd inadvertently activated the overboost protection function to kick in at atmospheric pressure.
I set it to 200kPa, then tried again. This time, I got spark and an engine that was trying to fire. I gave it a bit of gas, then ... splutter, vroooom!
It's allliiive! I can't believe it! Wow!
Video here:
https://goo.gl/photos/i1rULYEwWiRKN22s5
Running very nicely indeed, but I think it's a bit rich initially, then going richer as it warms up.
I now need to tune it, and put a load of things back together properly. I was so fed up with what seemed like interminable wiring, faffing around, etc., that I needed proof that it was all going to work, so I just threw it all together just enough to run. I'm so excited that it's finally running - what a great moment! Just ran out of time this week to do anything more than turn it back off again to revisit another day.
I am going with the original idle valve (sorry,
@DaveL485) - still need to build the circuit.
Then I need to build the circuits for the boost solenoid and evap solenoid.
Then loads of tidying of errant wiring, fitting the exhaust, refitting the expansion bottle properly, along with all the myriad of brackets, etc.. I need to connect up all the vacuum/boost pipes properly - for now, I just plugged them with bolts, so they weren't vacuum leaks. The A610 has a complex set of connections to the MAP sensor, boost solenoid, evap solenoid, etc., etc.. Originally, each hose was fitted with coloured bands and there are coloured bushes on all the connections. But... they are called "foolproofing bushes" in the manual. I couldn't figure them out, and I like to think of myself as a reasonably intelligent guy. They didn't seem to properly correspond, so I just plumbed them in from scratch. More like foolish bushes in my opinion! I renewed all the hoses I could see as they were all looking a bit ropey. I left the ones for the evap solenoid as I'll renew those when I'm ready to do that part of the refit.
But... phew. It runs. Phew. I'll say it again.... phew.