What is a good toolset for doing C cross platform development on Windows?
As for build system consider using cmake. It will enable you to compile your code in Visual Studio, Eclipse, Kdevelop or just old and plain make. This way you can pick up your favorite IDE on each platform.
Regarding the code itself. I personally don't familiar with cross platform packets for C. These exists for C++ (ACE and boost are most known). Some advises - keep OS depend parts of code as small as possible and include them in #if/#else sections, avoid using OS propriety API, use standard as far as possible.
I have to agree with the poster who said 'gcc' for cross-platform work. You can install gcc under cygwin though I've never been tempted to do this for real work. I always have a Linux machine somewhere. [edit -- even if it's only in a virtual machine on the same box!]
With a judicious use of ssh, samba and/or NFS, you can always have your dev environment be Windows, while actually building on Linux.
You can use GCC via MinGW. Some people also recommend Cygwin, but in practice it's a pain. Eclipse+CDT, as suggested by bnaffas, is pretty good.
A toolset based on GCC (as suggested by others) is certainly OK.
Visual Studio (Visual C++) allows you to do C/C++ development as well. Keeping your code cross-platform obviously requires a little discipline, but it is certainly doable.
Bloodshed dev c++ is very nice. If you've used older versions of Visual Studio like I have then you'll feel right at home. Best of all, it's free. Under the hood it uses the MingW port of GCC which is a compiler available on many platforms so if you need portable C++ code then this is a great start.
I believe the IDE is written in C++ (not java) so it's nice and responsive too.
http://www.bloodshed.net/devcpp.html
EDIT: Would like to suggest Code::Blocks. It's also a cross platform GUI.
My favorite cross-platform development environment is AT&T U/Win, which compiles native Windows apps using a Posix interface. The learning curve is a bit steep, because these guys control everything, and it's slightly nonstandard from the ground up. Example: they have their own replacements for autotools and make. But they are great engineers and have been doing this for 25 years. Solid, solid stuff.
On windoze I am using code:blocks + gcc. It also supports muliple compilers and switching betwen them is just matter of few clicks. You can get instalation pack whit gcc included is simple intuitive and they have good documentation.
Visual Studio is actually a nice tool for doing C development. You need to forsake all Windows libraries and use only platform-independent header files. Normally I would install cygwin to get some of the windows missing header files. I've noticed other libraries / applications have taken the cygwin approach and accepted it as a valid windows platform-independant build target.