One argument I don't see as holding much weight is this "What if my data model changes." It seems to me like there are two options; it will or it won't. If you write an app that will not "grow", then rest assured that your data model will not change. If however, you are writing an app that you hope will grow over time, then indeed ANTICIPATE your data model changing. However, that said, how often does anyone make any cripiling data model changes outside of a new version release? And if you're releasing a new version, you're changing a bunch of stuff anyway, (Unless it's microsoft office), that will require a "recompile" anyway.
I write the attendance and business software for the school district I work for. I'm making a change to the data model system now. But you know what, I know the four windows that need to know about these changes and I'm changing the code in those windows. When do you ever make a data model change that does not require a modification to the user interface? The people who use the argument that stored procedures save them from recompiling when their data model changes don't write many client/server apps, do they?
My $0.02