The heavier the better.
(to hit them with)
Seriously, you might want to listen to Juval Lowy's talk he did in Israel on project planning and tracking. I burned it to a couple of CDs and have been listening to it in the car this week.http://www.teamagile.com/mainpages/Interviews.html
(scroll down to the one from 24/8/05)
Basically, you need to make it clear to them that every time they change their mind, the schedule slips. Even worse -- every time they even *ask* for a feature change, that's a day gone with the developers sitting in a meeting to decide if it's possible to do.
So far as development cycles, somewhere between 4 and 6 weeks is pretty good. You just need to get them to trust you for that length of time, because once they sign off on the dev cycle, changes are locked out until it finishes.
If you can't get them to commit to 4 weeks, find another job -- There's insufficient trust in the organization for you to succeed.