Okay, I've played with per-account signatures pretty heavily trying to get it to work, and I'm giving up.
If someone else wants to take over, here's what I've found out. If you've migrated your mail from Panther, you only have a single grouping for signatures, called "All Signatures". None of these signatures are available when you compose a message from any account. If you add a new account once you're on Tiger, you get a new signature grouping named after the new account. Those signatures work fine if you're sending from the new account.
Signatures are stored in ~/Library/Mail/Signatures/SignaturesByAccount.plist. There's an older file at ~/Library/Mail/Signatures.plist that seems to no longer be used. If you delete the SignaturesByAccount.plist file, it will be regenerated when you launch Mail.app, and will be populated with the UUIDs of whatever email accounts have been created since running Tiger.
But I can't figure out how it's determining that. Info for the accounts is stored in ~/Library/Preferences/com.apple.mail.plist using the key MailAccounts. This is where the UUIDs I referred to earlier come from.
Creating a new account on Tiger also creates a corresponding folder at in ~/Library/Mail. This folder can be empty and the SignaturesByAccount.plist file will still be regenerated to use that account when you launch Mail. So it's not pulling any info out of that folder.
There's also a key in the Preferences file named SignatureSelectionMethods. If you delete that key and relaunch Mail, it will also be regenerated using only accounts you've added since switching to Tiger.
So, to sum up, Mail will regenerate all of the stuff needed to use per-account signatures if it needs to, but its getting its list of accounts that need signatures from somewhere that I can't figure out. I even checked the mail folder to see if it has any metadata associated with it, but nope.