I'm glad you asked these questions as the answers are very important.
If you're getting a reading of 90 with the round gauge thermometer stuck to the glass, the basking surface temp would be hotter which could mean that it could be 110 degrees or hotter which is too hot for a 3 yr old beardie.
Yes, the surface temp is the most important temp that you would need to monitor as well as the temp over on the bottom of the cool side.
A lot of us here use the AcuRite digital probe thermometer. Here's a picture of one:
And here's the direct link:
http://www.amazon.com/Chaney-Instruments-Acu-Rite-Thermometer-Humidity/dp/B001BO8CUE/ref=sr_1_8?ie=UTF8&qid=1382901432&sr=8-8&keywords=accurite+digital+probe+thermometer
What you do is place the probe end right on the basking log or rock, make sure it is actually touching it and that the probe is flat. Then you place the thermometer part way over on the bottom of the cool side. You wait 45 min to an hr for the temps to stop rising, then the "out" reading will be the basking surface temp and the "in" reading will be for the cool side. This thermometer also has a humidity readout. In the picture, it shows the clock time at the top but by pressing the temp/clock button on the right hand side near the bottom, you'll get the 2nd temp reading rather than the clock time.
For the price, this thermometer is great. And, if you have a Walmart near you, they have them as well as some Lowes and Home Depots.
So, sleeping upright against the glass could mean that he is too hot and trying to cool side. Are you using any type of night heating in the tank?
Let me know if you have any questions.