One of the prototyping guys at MS, Roland Fernandez, has created a VS.NET 2003 add-in to make multi-threaded programming easier. 

The premise is that you write your app just as you normally would if it was all running on the UI thread, then adorn the methods you want to run on a background thread with a simple attribute.  At compile time, the add-in reads the attributes and generates the code necessary to run your code on a background thread.

Read the article and download the code and installer from http://www.windowsforms.net/articles/easythread.aspx

 - mike