After dressing in over 300 games with the Oilers, his longest tenure with any NHL club, Edmonton sent the Alberta native back to Chicago with Jonas Elofsson and Boris Mironov on March 20, 1999 to the Blackhawks for Ethan Moreau, Chad Kilger, Daniel Cleary and Christian Laflamme.
After playing the better part of two seasons in Chicago, the Blackhawks traded McAmmond again on March 13, 2001 to the Philadelphia Flyers for a third-round selection in the 2001 NHL Entry Draft.
Upon returning to Alberta, McAmmond enjoyed a career year with the Flames during the 2001–02 season, setting personal highs for goals (21) and points (51) in 73 games.
On October 1, 2002, prior to the beginning of the 2002–03 NHL season, Calgary traded McAmmond with Jeff Shantz and Derek Morris to the Colorado Avalanche for Stéphane Yelle and Chris Drury.
McAmmond, however, couldn't play a game for the Flames for the rest of the season since the deal violated a rule at the time prohibiting teams from trading a player prior to the waiver draft and reacquiring them later in the year.
During the 2004–05 NHL lockout, McAmmond played for the American Hockey League's Albany River Rats, leading the team in scoring with 61 points (19 goals, 42 assists) in 79 games.
In game three, after scoring what turned out to be the game-winning goal (and the only win in the series) for Ottawa, McAmmond was the victim of a controversial elbow to the head from defenceman Chris Pronger.
Just a few months after re-signing a multi-year contract with Ottawa, McAmmond suffered another concussion during a preseason game on September 25, 2007 from a hit to the head by Philadelphia's Steve Downie.