When the application is served from a web farm, a Session object CANNOT be used. Is that true?
No, you can use SQL-based sessions which can then in theory be accessed by any server in the web farm, with the correct configuration.
For a little more information : Configure SQL Server to Store ASP.NET Session State