I don't see why it wouldn't work.
Add some debug code to the page above where you set the subject line:
See if that row has the values you would expect. This will stop the email from sending and will display all of the information from the recordset. My only guess is that the recordset doesn't have the information you think it does or else it would work.
View the source code of the page and it will be easier to read. Let me know what you find out.