I might be tempted to change a coil over from one cylinder to another and see what happens. Have you had a look at them to see if there is any cracking or the electrical connections are in decent condition. You've crossed a lot of things off the list, so not sure.
What code reader are you using? A proper diagnostic, Snap on etc, might find codes a basic reader can't. Might be worth having a chat with a local garage or two and see if they will offer a friendly rate for a more detailed diagnostic check.