I have not used Canoo, but I have used Selenium for several years.
Selenium's approach is different from Canoo in that Selenium does not attempt to emulate a browser, it automates/scripts existing browsers. That way you don't have to worry about JavaScript compatibility or details of the rendering engine in a particular browser.
Selenium Remote Control is a process that starts up a browser, gets Selenium commands over a network socket, and executes those commands in the browser.
I agree with Daniel's answer above, the Selenium IDE is a killer feature! Once you have the add-on in Firefox, you can quickly build unit test suites, right click on webpages and choose assertions, and much more.
Selenium Remote Control integration with other languages is straightforward, you send commands to the remote control process from your language of choice.
I've used Selenium RC from Haskell, Python, Java and C# so far, it works fine.
I think you would be able to run tests for MSIE from a Linux build server by opening up the Selenium RC socket permissions. Be aware that's a potential security problem though.