Why not just put a meter on the heating element and the thermostat and see if they're good?
Also, check your hot and cold lines going into the water heater and make sure they are not reversed.
One other thing to check is to make sure you have 240 volts going to it and not 120.
There is a dip-tube on the cold water inlet that directs the incoming water to the bottom of the tank.. if this tube somehow got broken off, your hot water wouldn't last very long as the cold water would end up collecting at the top of the tank where the hot-water discharge pipe is at. That might explain things.
One way to check:
Turn on the hot water and let it run... use a meter and monitor the top and bottom thermostats.. the bottom one should click and activate first and the bottom of the tank should become cold first... If you find the top of the tank gets cold first, then the dip tube is probably broken. I'm not sure if it can be replaced with a new tube or not..
Hope that helps,