"I need to show the user a list of the reports in the database, and let them select the one they want."

Here's a way to list of all of the reports:

SELECT Name FROM MSysObjects WHERE Type=-32764;

I will use that to populate a combo box, and let the user select from that. Most of the time I'll add a special prefix and filter (and hide) it, so I can show them just the ones they need to see. For example: like this:

SELECT RIGHT(Name, LEN(Name)-3) AS TheReport
FROM MSysObjects
WHERE (Type=-32764) AND (LEFT(Name,3)="wiz");

wizTool Replacement Codes, displays as Tool Replacement Codes, but

rptJobTicketFile doesn't show because it doesn't have the magic prefix.