Nothing is needed on the client. AJAX is just normal server code, and normal javascript... packaged into a higher level of abstraction.
As for development, you have 3 options:
a) Write double code, one with AJAX, one without (you will start seeing the difference when you start writting components, using web services and such and when the code you need to write starts pilling) - and then you can use the logic which you've mentioned above
b) Make you module ONLY work with AJAX, then you add a dependency upon installation which will warn the person installing your module that you must have AJAX, and then add only AJAX support.
c) Don't use AJAX at all.
I belive the descision is case by case base, somewhere you will go one way, somewhere another.
P.S. Thanks I appreciate comments like these, I like to know that my effort has payed off