"I think it started after I upgraded to Snow Leopard. Before Snow Leopard, Mail would ask me for my Keychain password once when I started the app and from then on never again until I relaunched it."
EXACTLY the same problem happened when a friend upgraded from 10.5 to 10.6 on an aluminum iMac.
Many others have had this problem.
I was trying to help him resolve it, but he decided to go back to 10.5 before I was able to come up with a conclusive solution.
I believe the problem is not localized only within the Mail.app, but rather has something to do with stored passwords in Keychain and problems that arise when importing passwords created in 10.5 into 10.6.
I believe it involves corrupted passwords, or stored passwords that conflict with the new Mail.app. Typically, the stored password is "forgotten", or the port through which Mail is trying to connect to the ISP gets changed from what it should be.
Here's what I suggest you try. It may work, it may not, but worth a try.
First, quit Mail.
Open Keychain Access.
UNLOCK your keychain by clicking on the lock icon in the upper left corner.
On the left, click "Paswords"
On the right, locate your email passwords. Your incoming mail password probably has "pop" in it, while your outgoing mail password will likely have "smtp" in it.
Once you have located them, select them one at a time and delete them (choose delete from the edit menu). Enter your administrative password if necessary.
What you want to do is get rid of ALL your old email passwords.
When done, RE-LOCK the keychain by clicking the "lock" icon in the upper left corner.
Quit Keychain Access and re-launch Mail.app.
When prompted enter your password and choose to save it in the Keychain if asked.
See if this helps. As I said, it may, or it may not.
But give it a try.