in reply to CGI::Session and MySQL

Not getting an error might be due to something as simple as the necessary functions not having error checks.

Missing data might be as simple as your being configured to always use transactions, and nowhere do you commit your changes.

Note that I say "might" in both cases. Without access to your environment I can only guess what is going wrong, but those guesses are at least things that you can investigate.