If it was a broken blend door, the engine would be coming up to full operating temperature and it would be cold in the car.
If it was air in the system, you would get heat on an inconsistent basis. It would come and go.
The combination of the engine not coming up to operating temperature and the HVAC not putting out a lot of heat points to a failed thermostat.
Even if I am wrong and it is something else, changing the thermostat is the logical first step in addressing the problem. Particularly when you consider the low cost and how easy it is to change. When I change a thermostat I don't even drain coolant. Just put a pan on the floor under the thermostat housing to catch the coolant that comes out, remove the rad hose from the housing, undo two bolts, remove the old, clean the gasket surface, and re-install. Even if there is a gasket or a rubber seal, I always put some permatex between the thermostat housing and where it seats. Make sure you don't overtorque the housing bolts or you will crack the housing.
2001 Bonneville SSEi (retired at 365,000 Kms.)
2014 Jeep Grand Cherokee Overland (yes, I know its not a GM)