I was able to get an Atmega328p (DIP) working with the internal oscillator at 8mhz using a 5v supply, but now it won't run at 3.3v. I'm wondering if I neglected something with my fuse settings, since I've been able to boot 16mhz *duino boards at 3.3v in the past... Or, maybe some weird shenanigans because the firmware is made for the surface mount 'megas...?

This would leave BOD at 4.3V. He writes that this configuration is working (I assume at 3.3V), but this doesn't make sense. Rather it is reasonable to assume that he got the fuse settings mixed up somehow. The issue reported is consistent with an incorrect BOD setting (works at 5V, doesn't work at 3V3).

Figuring out fuse settings from the datasheet only is a hassle (using inverse logic) - using the Engbedded calculator makes it a lot easier.