There was/is similar/same bug with N800. The problem I've seen is that when you only had card in N800 external slot, it was named /dev/mmcblk0 but with both cards or card only in internal slot the internal was mmcblk0 and external mmcblk1. You can verify that it is this bug by customizing menu via optional bootmenu.conf and creating item for both external and internal card partition 2. Then you can try to boot the external one and see whether the internal one boots. Maybe it is even this bug combined with the fact that N810 has MMC slots named differently? With N800 internal one is mmcblk0 and external mmcblk1, can you check how it it with N810?