Well, since you already write that you are using 3.0 kickstart ROMs with 3.1, the “mystery” is solved - as Thomas mentioned above, it only works by luck because of a bug, and chances are high that if anything tries to fill up those 8MB of RAM, the system will crash. If you remove one simm, 3.2 kickstarts (and 3.1) will work. An option is to burn custom 3.2 kickstart ROMs with card.resource (iirc) from 3.1.4 kickstart, that miraculously managed to re-introduce the bug from 3.0. You could also try to install 3.2 kickstarts and the load card.resource from 3.1.4 or 3.0 using LoadModule when you need pcmcia. But with all these “working” solutions, you run the risk of random crashes should something try to actually use all that ram (of which quite a few bytes of address space is pointing to the pcmcia rather than actual ram).
Modern RAM cards typically has reset options to switch between 4 or 8 MB of fast ram, so that we only boot to 4MB when we know we’ll be needing pcmcia. Like on one a600 I got, where I do the opposite, boot with 4MB fast RAM by default and only press ctrl-a-a a liitle extra long to get 8MB just occasionally when needed.