Phil,
One of the biggest disadvantages of going to On-Demand is the limitations around customizations. You cannot have any processes that update the database directly. (many clients have created processes that run update statements).
You also cannot have any customizations at the database level either. So no Views, Triggers, Stored Procedures, tables, etc.
All of these limitations can be worked around using GEL, XOG, and custom objects, but if your installation is heavily customized, the effort to become "On-Demand Compliant" can be significant.
If you have any questions, feel free to reach out to me.
-Doug Kalkowski
dkalkowski@winmill.com
www.winmill.com