Yeah, you can probably infer from the title what this is about. Of course my problem was fixed pretty easy (booted into the arch rescue/install disk).
Basically if your /boot is not automounted (like mine, i have noauto set), and you upgrade your kernel things get whacky. The kernel itself is remains the same but all /lib/modules/`uname -r`/ files are removed and the new ones filled in. This causes a bunch of nifty "cannot find module xyz" on boot up. It'd be nice to see some sort of warning/notice about this similar to "HEY YOUR KERNEL WAS UPGRADED, MOUNT BOOT AND RERUN LILO/GRUB!!" as I believe most people just run pacman -Syu and go through the motions without noticing whats being upgraded really (at least I do).
there is a warning echoed in during the install/upgrade procedure at least about running lilo. i think the majority of people do not have a separate /boot partition so there is no need to do any unmounting.
i don't know how many times this has come up but IF you do use lilo you always have to run lilo after upgrading a kernel that cannot be automated during install. anyone who has used lilo *should* know this.
warnings of running lilo are there and always be there ... you just have to remember to ALWAYS pay attention to install output from pacman (or any package manager).
I am not your friend
The problem is actually the action of upgrading. If /boot isn't mounted, a vmlinuz file is actually written to your / partition, inside the /boot directory. This means that the original vmlinuz file is untouched (and still booted off of). The modules do change names, as you've correctly noticed.
There's no easy way for pacman to figure out if it's writing to the right partition... I guess you'll just have to be diligent.
I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal