Buying a phone in the US outright would work fine IF she has US money to buy it with. Buying it using a Canadian account will result in a pretty awful conversion factor -- so a $1K iPhone becomes a $1.45K iPhone instantly!
Also, she would need to be careful that the iPhone she's buying in the US isn't locked to a carrier. Canada got rid of that restriction some years ago, but not everywhere in the US did.
An iPhone bought in the US will work fine up here once she gets a Canadian SIM card from her carrier.
I'd recommend she get the iPhone here, and sign up for a plan that offers US/Canada calling/text/data. Freedom Mobile offers such a plan, but so do some of the budget carriers (though theirs may only be 4G, not that it makes a huge difference).