Detailed Project Description
Your project description should be as detailed as possible. It's better to have too much information than too little. Some people choose to summarize the project in the description field, and attach a file with more detailed info (for interested bidders). Which is a good idea.
If you have additional features you would like in your script, which you did not mention in the project description, please tell the programmer BEFORE they begin work.
Before you pay for the script, you should ask the programmer to setup a demo (on their server) to make sure it functions as you requested. Once the programmer sends you the script it could be too late to cancel the project, and you will be expected to pay for their service.
Before the work begins, you should discuss with the programmer how you will send payment. AgoraPros.com suggests puting money in an escrow account.
Know The Project
You should know how you will create the script before you place your bid. If you need more details, post on the message board for that project, request more information from the webmaster. If you don't, at least make sure you are clear about the project before you begin working on it.
You might consider updating the webmaster on your progress throughout your work, especially if it's a long project. This will assure that there is no confusion over how the script is suppose to be when you finish it.
Before sending the script to the webmaster, you should setup a demo (on your server) so that they can confirm it is what they wanted done. You are almost guaranteed satisfaction if you do this, because the webmaster can see the script working before they receive it and pay you.
Before the work begins, you should discuss with the webmaster how you want them to send your payment later on. AgoraPros.com suggests that you ask the webmaster to put money in an escrow account.