If you actually get your software working on Windows, that's only the beginning. Windows users expect to find a binary zipball or installers and/or MSVC binary libraries. Making binaries is a fair amount of effort which I see as largely pointless because they're always lagging behind the source.
Catering to Windows users is also frustrating, since there are so few Windows coders and even fewer who are willing to contribute their effort to an open source project. Instead, you'll get bugged with a variety of support requests as if you have some kind of responsibility to "fix" your software to do what someone else wants it to do.
But the biggest problem in writing cross platform software is the lack of good cross-platform API's available. Windows users are never happy with x-platform GUI's like GTK or Qt. There are some frameworks for other tasks than GUI, but they tend to go with the lowest common denominator of the platforms they run on, which is usually worse than working with native api's.
Finally, I feel that there's no need to try to lure more Windows users to migrate to Linux. Linux has already passed the threshold of immortality and it will stay alive and well whether it attracts more user from Windows or not.