Obviously, the most glaring aspect is the climate. And in retrospect, when Pittsburgh was a major stretch/logistic nightmare to host a game, you'd have to wonder if a St. Louis or a Washington market will host a game anytime soon. That significantly reduces the amount of teams that can host an event.
Back in the 90's, the NHL held a preseason outdoor game in Las Vegas, and the ice was fine.
It doesn't need to be below freezing to sustain ice. And it's not actually ice, it has an additive in it that helps it stay frozen at higher temperatures.
Besides, the avg. temp for St. Louis on Jan. 1st is in the upper 30's. So even if weather was an issue (which it isn't), chances are it would be ok temp-wise in St. Louis.
Now, with that said...I am sure the NHL wants the cold climate and possibility for snow...it just adds to the atmosphere of being a Winter event. So I can see the event not being held in a warm climate for that reason.