When you say that's a record high for the NDP, you mean a record within the scope of polls conducted by SES, is that right? They've beaten 20% in at least one federal election (though not by much), and I seem to remember they were frequently in the mid 20s in published polls during the 70s and 80s.
My theory about the big Liberal/Conservative swings is this: there are a lot of ex-Tories out there who spent the Chretien years wishing Martin was PM instead of Chretien and grumbling about how those crackpot Reformers had messed it all up by splitting the vote. Now the Liberals have Martin as leader and the Tories have a crackpot(?) Reformer. What to do!? Subtle shadings in the nightly news could swing them either way. Aren't undecideds high this time around?