How come I can use data on my Fido iPhone from Niagara Falls in Vancouver without incurring extra charges?

But just crossing over to Buffalo and using data for a day I get hit with $150 in charges

BC is still part of Canada. Buffalo is not.
Get a different plan if you are frequently in the USA.

How did your carrier answer your question?

It's a different exchange.

Vancouver and Niagara Falls, ON are both in Canada, so there's no roaming.

Buffalo is in the US, so there's roaming. There's also a package you can have that costs $7 per day if you're in the US -- getting $150 in charges is entirely on you and means you went through almost 1GB of data in that day.