Yeah, but it gets weirder. I tried again, but this time I increased the 'ticks' setting, so the game would run faster. This time, within about an hour of in-game time, the heat had dropped from ~80 to zero. I need to do more testing; I have no good idea what is going on.
Edit to add: okay so instead of testing 4 clips of M60, I tested in much smaller increments:
1 pistol shot: 110 in-game minutes to 0% heat
2 pistol shots in rapid succession: 110 minutes to 0% heat (one shot's worth disappeared right after the other)
10 in-game minutes of continuous pistol fire: first reduction occurred at 110 minutes, with all others coming off in rapid succession over the next 10 minutes
1 in-game hour of M60 fire (enough to get over 90% heat): first reduction occurred at 110 minutes, with the rest coming off in rapid succession (with appropriate delays during at the points when I was reloading 110 minutes before)
20 M60 shots, wait 100 minutes, 20 more M60: the first group of 20 starts decaying off at 110 minutes as expected (the subsequent shots did not reset the counter of the first 20)
So this was all consistent - each firing "event" lasts 110 minutes or so.
Multiple dev Super Digger (block destroyer) shots to damage a building: the gun itself gives no heat, but block destruction & collapse do; the collapse events start decaying very quickly - within 10 minutes game time.
I cannot explain why I had over 14 in-game hours sitting with no heat decay. Still need to replicate that result.