Test Accelerometer alignment?
There was an app that I had a while ago, I think they removed it from the market, but I found it here: Tricorder. It's a little cheesey and geeky, but if you are in the first section ("GRAV") it will show you the direction vectors from the readings it gets from the accelerometer. It does some other cool things too, but for your diagnostic purposes, it should work well!

Update: Here's a screenshot of what you're looking for. I took this while holding my phone horizontally, and you'll notice the "y" vector is 0.040. It kept moving between 0.080 and 0.000. I'd say if it's much more than 0.150 off, you probably have a hardware issue.


Here's the reading I got at ~0.500. To get this reading, I held the phone horizontally and lifted up the left side almost a centimeter.  Here's the screenshot, if it helps: