Sure, they might be using Windows clients now. Everyone who writes a Windows-only app makes that observation, you wouldn't write such an app if it didn't meet their requirements!
But you can not know if they will want to use iPads instead of Windows machines next year. Regardless, what you did is basically forced them to stay on Windows for one app, just like companies are sometimes forced to stay on IE6 for some ActiveX app. They have no other choice but to rewrite all your code. Rewriting someone else's non-portable working system just to make it more portable can be an infuriating waste of time. We are far from the point where we need broken window fallacies to survive as an industry.
the flaw in your reply is that *I* have no control over what the customer *might* do at some point in the future.
I did what they wanted, if they can't tell me they will change how can I justify going and doing things they do not want and did not ask for?
saying that *I* "Forced them to stay on windows" is a steaming pile of Bu11 stuff.
more of a sign that you are pontificating based on your opinion and have no clue what they are doing or will do.
on the other side of this I have worked with the client for years and I know what they are doing.
and as I said they run this in an environment where an internet based / web based package was not even close to workable for them.
if they had wanted portable and non windows the only options might have been Java or Flash
and they had a flash version that they hated.
you listen to the customer and make something that works and that they like.
the rest is all ego and has no place in real business.