This issue has been solved
It's possible there is some data corruption in your Bitcoin Core data, that is causing issues for Armory... So, you might need to "reindex" your Bitcoin Core to see if it can fix it... but that will likely take quite a while to complete.
Thanks for your help
I ended up reindexing BitcoinCore and it would get stuck, so I assumed some sort of hard disk issue.
For the benefit of possible future readers
Before reindexing I ran chkdsk on my hard drive and when Bitcoin Core was reindexing I set the priority to high.
https://bitcoin.stackexchange.com/questions/60709/when-should-i-use-reindex-chainstate-and-when-reindexhttps://www.easeus.com/partition-manager-software/run-chkdsk-to-check-repair-drive.htmlhttps://stackoverflow.com/questions/1663993/what-is-the-realtime-process-priority-setting-forIf you are going to reindex Core, you should delete the last few blkXXXXX.dat files. The error you are getting from Armory means that it is failing to match a block's list of transaction with its header (what carries the proof of work). Armory is most likely stuck at that specific block height because it rejects the next block (the one with the merkle error) and therefor fails to extend the chain.
Core checks blocks then writes them to disk. It doesn't check that the data written to disk matches what it has checked, therefor write errors go through transparently and Armory runs into them later. A reindex tells Core to recheck all blockchain data, which I believe leads to redownloading bad data (don't quote me on that). Reindexing is pretty expensive, so I'd suggest you just nuke the last few block files and restart Core. That will trigger a reindexing on its own and also make sure you're not carrying the botched block anymore.
Thanks for the detailed explanation of what is most likely causing the error.
If I run into this error again I'll try your method in order to save myself the time and inconvenience of reindexing the entire blockchain vs reindexing from the blocks that are most likely corrupted.