I've spoken to the new host's tech support about this. They've confirmed that the htaccess file is working in other respects (and I've since confirmed this myself). They say it must be a programming problem, not a system problem.
They speculated that it's due to some difference in the way the rewrite module works between the version of Apache on my development system (2.2.17) and their version (2.2.22). That seems unlikely to me, but I don't know what else to suspect.
Here's the contents of the htaccess file:
#RewriteBase is not needed because we are not rewriting the directory name.
#This rule transforms "list-t-key" to "list.php?t=key".
RewriteRule ^list-(.*)-(.*)$ list.php?$1=$2
Any suggestions? If it's something weird in htaccess, how can I find it? If not, how might I prove that and force them to look farther?