We have some boards that are too small for an additional MAX232 chip. We bring out the Tx and Rx pins anyway (along with Vcc and GND). When programming is needed, we plug in a board that has a MAX232 chip and a DB9 connector on it.

So we can have a bootloader AND a small, low-cost board.

The real upside is that having a serial port is one of the best debugging tools around.

The boards start up at 4Mhz, but the code "downshifts" to 1Mhz for power savings. It is a tiny temperature sensor, and any dissipation shows up as a temperature error. The chips are 18F2321s and run on the internal oscillator only.