Almost certainly thermostat. If you watch the temperature display closely after start you will a dip as the thermostat opens, the temperature then climbs again to normal, around mid scale.
In my experience the stat does not stick open, when you finally get the old one out it appears to be closed. I think it must open much too early, whatever the reason, don't be tempted to put the old one back because it looks ok.
Solved the problem of low temperature and slow warm up on two of mine.
The bad stats did not seem to affect the heater much, you should have warmth from the vents within a mile or so.
From all the information given I would definately agree it is the thermostate, so this should be the first thing to change.
On my current 2.5V6 the temp. never varies much even in these cold times, with the guage showing between 85 - 90. My previous 3.0V6 also rapidly warmed and the guage usually showed from about 88 to 95, going to 100 ocassionally when stuck in heavy traffic during the Summer.

I have never know my miggies to do what yours is doing, not warming up and retaining a working tempature, only on other cars has this happened and every time it was the thermostate.

You should also ensure the header tank cap is kept tightly closed to maintain cooling system pressure.
PS What kind of MPG are you achieving at the moment? :-? :-?