I just got back from Whistler BC. Because Vancouver tends to take USD, and Whistler is not far (and is even more heavily touristed by % than Vancouver, I'm sure), I figured we'd have no problems with USD.
Mostly we paid with cards, but my wife brought a few US$100 bills. It was silly to try to spend them for small purchases, but one night we had a CAD$60 dinner and we asked if we could use USD (hadn't been a problem anywhere else). They said yes, BUT they'd only accept it at 1:1. Obviously that's their prerogative, but it seemed silly to expect us to eat $18 or thereabouts, so instead they ate the credit card transaction fees. shrug
Granted, this is probably not bad policy in general because they're going to be even less expert at spotting fake US currency than US-based merchants are.