We put this off until the very last minute, due to something I can't remember (something about SCCP not working, I think). However, more pressing was the fact that Asterisk had deadlocked SIP 15 times today. And by deadlocked, I mean that Asterisk was running, but the chan_sip module was not. Asterisk could not restart itself as a result, but it could still process calls. Until people tried to re-connect that is (as their ATAs do about once an hour), and they couldn't.
The workaround was to kill Asterisk from the command line and restart, which of course, would kill any calls in progress. Since that was happening so frequently, the situation had become intolerable, and I was forced to upgrade. This problem has been apparently fixed in Asterisk 1.8.x.x, but I've heard that before, too. Hopefully the radical version difference really makes that true this time.
I used the procedure that I developed earlier, except this time I removed all modules from /usr/lib/asterisk/modules and started afresh.