Hi Praveen,
This reminds me of, MDOs have been designed on open SQL concept, so it should take commands irrespective of the DB type.
In such scenarios, it's better to channel the complex parameters in a standard way.
Consider a scenario where you develop a product using MII that utilizes MDOs as well. Your system has SQL db and you have two clients, one uses SQL and another uses Oracle, so the same product won't be able to work for both if you supply either of Cast(dateString as Datetime) or to_date(dateString,<format>). In such scenarios, using typed parameters would be apt.
For SQL, it's very much, objects created for in a specific type of DB and hence both the ways are permissible.
This probably is a reason. Hope it helps.
Thanks,
Swaroop