Bass, as silverlight is going to have a linux version then the mono folks have the core / subset of WPF already...
given that I think that a version of WPF for Mono is very possible to see after they have the silverlight subset working.
not a for sure thing but see how that could happen?
as to the issue of beeing bound to a platform... well we could just write for telnet and curses and forget all the other stuff...
honestly I have never seen a really good way to write-once-run-everywhwere it's been done to a degree but often results in stuff that looks wrong on some OS and always tends to make it more complex.
on one hand sticking to one "platform" does limit some things but it also has a benefit of once you know that set of apps, sevrvers and clients then you can focus on delivery. when you try to make things work on multiple systems it does tend to make the development and the testing and the maint. and the setup and the support more complex and costly.
it's a trade off, not perfect....
Some folks go with LAMP, some with .Net .... each has it's place.