LoveGolf,
Every PM has a different approach to writing MRDs. Over time, you'll improve your requirements writing technique and tune it to your development environment. In my experience, I've found that it is best to strive to minimize the amount of pages in an MRD, while maximizing the context for the developer. Many developers concentrate solely on the technology and require your guidance to figure out what to build. You'll want to cite a few real-case examples for each product feature that you're requesting, this will help the developer figure out why they're building it and put it in business context.
It is a fine balance between writing requirements that are too vague and writing requirements that are too specific. The rule of thumb that I use is to stop when the requirement gets into implementation. However, in some cases I've found that it helps development greatly if you create 'prototype screenshots', done in PowerPoint to illustrate the preferred embodiment of the requirement. It forces a 'user-centric' design for the product. However your approach will generally depend on the type of development team you have.
The most important thing, is to always, always, always, hit your dates for presenting your requirements. If you don't, development will move on and start coding without you. After all, if you can't hit your MRD date, how can you expect development to hit their launch date?

Hope that helps.
Cadman.