If you are looking for an example of a graphics program using .Net, look at Paint.Net. It's not up to Photoshop yet, but it's a very decent program.

I don't do graphics stuff with .Net, but my coworker does, and his opinion is that while it's performance is not quite as fast as C++ for that kind of thing, it's not that far behind, and a hell of a lot quicker and easier to write.

Honestly, I have yet to see a good solution for portability. I hate Java with the kind of passion that only comes with familiarity, and the loosely typed languages like Perl or Ruby that are popular in Unix are absolutely the wrong way to go IMHO. And neither those nor anything else are really all that portable except for the simplest of tasks. Really the only succesful and usable portable applications I can think of (Gimp, Inkscape, and Firefox) are all still done in C++ I believe.
_________________________
Ninti - MK IIa 60GB Smoke, 30GB, 10GB