You were correct to worry!!
Never store recordsets (or objects) in session scope.
Its not threadsafe and can take up much of the servers resources.
Stick to making connections on every page, its not overly expensive at all, given the correct coding techniques.
Better yet - use Stored Procedures!!!! Get your results from the stored proc, transfer your results to an array using Getrows() or even Getsring, and quickly close the connection.
Multiple connections ACROSS pages are optimsed using Connection Pooling so you shouldn't worry about that.
Cheers,
Andrew