The only compact crossovers with a diesel in North America are the Mercedes GLK and Audi Q5, and both are probably too expensive, both in original cost and in repairs once out of warranty.
Past Subarus have had head gasket issues and in general have become somewhat expensive to keep up once past 160k km. The current engine dates only to the 2011 Forester, in which it has become troublesome, but the 2012s on haven't had the same problems. Too new to see how they'll do after 160k km.
Subarus do tend to be reliable up to that point, though scheduled maintenance can be a little pricey.
The new engine is pretty fuel efficient. And the safety ratings of the latest Subarus have been excellent.
Honda's all-wheel-drive system isn't as good as Subaru's. Not a big deal in most of the U.S., but the Subaru could be better for Canada.
The main advantage of the Honda is proven long-term reliability. In just about every other way a Forester is better.
So I guess the question is, how long is long-term?