Using an interrupt for my IR receiver

OK. After an afternoon rewiring, it's worse than ever!

Found a Nano lying in my parts box. Installed the Nano, and moved all the code for the RGB leds onto that. All worked fine.

Linked it back to the main Mega using SPI and now I have all kinds of stuff occuring.

My project has 4x 8 digit LED displays running on Max7219's. These are those pre-made boards that just need an SPI bus.
They ran using the "LedControl.h" library. They are now not working, as calling SPI.begin() crashes them entirely.

I can only assume the LedControl library has already called all the SPI commands, because they communicate over SPI and the LedControl library examples don't call specific SPI commands (such as begin).

More annoying is the mega now will not upload unless I power down the project and remove then replace the USB programming lead everytime Otherwise it can't find the Mega.

Arduino's cause me so many issues (all user error I am sure). The time wasted is biblical.

So, I think I am going to abandon the Mega and go with something else. Not sure what yet.
Life's too short for this 'fix one thing and 3 others break' routine!