I have a 16x30 shop with the same 40 gallon heater. I'm in my first couple months of use, the system was there whan I bought the property, so I can only tell you about my experience so far. BTW, my heater is set so the temp at the top of the tank is approx. 110*. I believe it's wired so that only one element runs at a time.
What I have found is that it will maintain temperature fine, but it has a hard time gaining temp. If the room starts at 60*, with the thermostat set at 60*, in 20-30* outside temps the system will run periodically for 5-10 minutes at a time. I'm typically in the shop for 2-3hrs each morning, with the outside temp at 30* I might hear the pump come on once or twice in those 2-3hrs. In these types of cycles the temp in the heater will barely drop enough to cycle the elements on, and then only for a short time, just long enough to reheat the tank slightly.
I've been studying the way the system works, and taking temp readings with an infrared temp gun.
Twice, once on purpose and once by accident, I've had to "rebuild" my temp by 6-8*.
When you try to do this is when you run into trouble. The system cycles on and will raise the temperature about 2*. By then the water in the heater has cooled so far that the heating elements can't heat fast enough to maintain the temp.
The temp at the output starts dropping. Eventually the elements can only heat fast enough to maintain 70*-75* or so going out to the floor loops, which drops your temp gains considerably since the floor temp seems to have to be about 65* to maintain 60* air temp.
At this point you are burning alot of electricity to try to do your heating, you're basically taking 3 steps forward and 2 steps back, just spinning your wheels and going nowhere quickly. The temp will come up eventually, but it's gonna take a long while. You simply are not putting enough BTU's into the floor.
What to do??
If able, replace the heater with one of the instant demand heaters from somebody like Siesco(sp??), or Hydro Shark. These heaters are capable of taking 50ish degree water in and delivering 120*+ output continuously. They "store" no hot water so you're not heating anything when you don't need it. Contact the manufacturer for the correct size to fit your needs. These heaters start in the $5-600 range.
If you can't swing a new heater, try a couple other things.
#1 start your heating season before the slab temp gets too low. It appears that my floor needs to be approx 64ish* to maintain 60* air temp. Maker it alot easier on the system and start your system in the fall before the temp gets below your desired room temp. Maintaining is much easier than adding.
#2 Remeber what I said about being able to gain approx. 2* before the tank temp started dropping. Do not try to gain any more than that in one session. Bump the T-stat up 2*, let the system run till the pump shuts off, and the water heater gains it's temp back. If possible leave it at this setting overnight so everything equalizes, and then bump it another 2* tomorrow. I believe this is going to be much more efficient.
#3 By now you've probably realized that the one thing you cannot do with a slab system is to move the temp up and down when you are in and out of the shop. Set it at one temp and leave it.