Aboslutely. Railroads in the cold everywhere know how to keep their engines warm. I believe passenger is trickier than freight because all passenger ops come to a full stop at night (while freight tends to keep going and stay staffed)
The traditional solution is to run diesel engines all night (partly because they don't use antifreeze for corrosion or environmental reasons that I don't "get"), and the MBTA does this but there are still extremities that get warm & wet while operating (and by day) that get cold and frozen at night. It may well be that in the profoundly-colder places (Canada) the cold is strong enough to avoid the thaw-freeze cycles that are killing the MBTA. Just like the way that Minnesotans don't plow...it stays so cold that driving on snow is like driving on the hard flat sands of Daytona Beach)
Nobody, though, is ready to have their freeze-thaw cycling pushed as far out of "normal" as we've had (and, yes, at a time when we're short on locomotives).
As you intuit, the "right" solution is MBTA locomotive layovers that have "shore power" to plug into and run electric heaters. The EPA is pushing everything this way, and the MBTA is going there fast. But had, for example, intended that the new electric-heated layovers would go in new, enlarged yards in Plaistow & Nashua (coupled with "free" CR stations and line extensions) but NH freaked out (Plaistow protesters held "No Layover" signs with smoking steam engines, when it'd be closer to saying they were protesting the noise and pollution of electric blankets). So that's still in the pipeline.
And then it's just that our snow has been at the very extreme of accumulation at the same time that the cold has been in the single digits and we've got a new engine that's being shaken down with no margin of spares.