While it certainly is horse shit, like most things, it comes down to money. They have the best chance of selling the most tickets by playing the games in Philly than anywhere else. It's not fair, but it's the most profitable. Frankly, I would've liked to see the games played in Montreal, but even the Citizens of Montreal might disagree with me on that one.
And I'm not sure how well they could've anticipated this problem. The venue is available. I think it is the city of Toronto that isn't allowing the games to be played there. MLB tried to fight to keep them there. I don't think they anticipated a problem, even if they knew about the G20 Summit in plenty of time.