I hope that this is n=1 and not a bug, but I ran into the following...
I have made a trip over to t1n1wall, as I was curious about the 1.10 FreeBSD. So I installed version generic-pc-1.10.2b80 vanilla,so no upgrade, but a fresh install using physdiskwrite. Then I began setting it up. By default it uses LAN = em0 and WAN = em1. As I was used to have LAN = em2, WAN = em3, (OPT1) DMZ = em1 and (OPT2 )WLAN = em0 I started assigning them on the console setup (So Option 1 Interfaces: assign network ports). After a restart I setup WAN to PPPoe I got an IP from the Inter provider, so I thought all was well. But then things went sideways. Although the LAN got an IP, there was no internet access and when I was assigning a IP to the DMZ it lost access. So thinking it was buggy (sorry about that) I went over to generic-pc-1.8.2b78, but the same there. Then I choose to follow the default suggestion at boot, so LAN = em0 and WAN = em1 and all was well. Then I went back to SmallWall again and tested it to also, same there! After I restored a previous backup config all was well. When I went from M0n0wall to SmallWall, I upgraded the firmware using generic-pc-1.8.3-unsigned so config was kept.
I routinely assign nics out of order. Often it is because the "first" nic is the wrong speed for LAN or WAN. (Like and older system with a dual port gigabit nic and onboard fast ethernet I user for WAN)
I am thinks you could have one of two different problems... One is that FreeBSD assigns order is a rather odd way, and that can change from major version to major version. The other is that drivers can change from major version to major version.
Try again with autodetect to assign the nics. It may not be in the order you think it is.