Shot? Why? (laughs!)
I use CGI::Session stand-alone in one application and through CGI::Application in many others. Yes, I use a database table. Dont forget you can store information of yourown in the session. In a shopping cart I store the complete transient cart in the session until the user goes to the checkout.
CGI::Session with alittle bit of code will manage the session, what else you need to do witht he session and its data is up to you. Some of the extras you are suggesting are esilly handled with various frameworks - if they need to be addressed at all. Remote user names, IP's and such are in the CGI query, or in the ENV variables for the instance. Current session will usually come back to you in a cookie and is handled by CGI::Session so you don't really need to ask for it, just use it!
Like lots of things in Perl, it happens by magic :) Have you read the tutorial that comes withthe module yet?
jdtoronto