Holy crap, you're in Ottawa? Screw "describing" your beer, bring me a bottle, I'm in Barrhaven and I'll be brewing in my garage tomorrow.
I'm a BJCP judge, I'll tell you exactly what's wrong with your beer.
Ottawa water isn't actually very hard at all, it's great for brewing. That said, they do use chloramines, so you'll get better results if you dose your brewing liquor with Campden tablets (1 tablet per 20 gallons).
Your extract process sounds fine, although I dislike extract beers anyway, as I can always perceive that distinctive, sweet, controversial extract "twang." But you've moved on to all grain anyway, so let's focus on that.
A "sour" flavour suggests an infection, so let's first focus on your cleaning and sanitizing regimen. Also, another controversial topic is whether or not to bother racking your beer to secondary. I'm of the opinion that it can be useful in very specific cases, but as a standard practice, is unnecessary, and exposes the beer to risks like infection and oxidation. If you are indeed getting infections in your beer, you could very well be picking them up in secondary. I would try brewing an all-grain batch and skipping the secondary step - just go straight from the primary (after letting it ferment for 3 weeks) to the keg.
Are you purging the kegs with CO2 after racking the beer to them? Ottawa also has an extremely active home brewing community, there are lots of people around town who would be more than willing to help you out.