Hi Dave,
when the user clicks on a row the rowID is sent to the server, and the server sets the session value of that ID. At that point it does not fetch the record from the disk, and it does not prime any of the other fields (session value or not.)
In other words;
message(p_web.GetSessionValue('MAI:MailBoxNumber'))
will work, but if you want any other part of the MAI record, you'll need to open the table, and read the record yourself.
cheers
Bruce