Just a postscript to this. One reason why HRM-derived estimates of calories burned are often inaccurate is that the HRM doesn't know how fit you are. If you train and your VO2 max increases, your HR will fall for a given level of effort. So if you are doing the same amount of work, in an objective sense - your power output and energy consumption remain constant - maintaining that output will require a smaller percentage of your maximal effort, your HR (and perceived effort) will fall and your HRM will estimate that you are consuming fewer calories, even though that is not the case. This problem would only be overcome if the HRM could be calibrated to reflect changes in VO2 max, so that the relationship between HR and power output was adjusted to reflect increasing fitness.
So the fit athlete moving 200lbs at 15mph will be burning the same number of calories as the unfit 200lb 15mph athlete. The difference is that the former may be operating at only 50% of their much larger potential, while the latter may be maxed out.