you do need good search engine optimization and real search engine optimization does cost more than $1k.
First of all there is allot more to it than you think. You have to fix the mess of the developer that did not know much about SEO. Like frames pages, content placement etc. You have to optimize every page of a site for a various keywords, making sure you do not over do it. Why because every page of the site will contribute to the overall qaulity of the main page's PR. On top of that, web surfers can and will bring up pages of your site other than your home page.
You may have to create additional pages for that customer. Start up an inbound link campaign. Create industry related articles for the site. Make sure they are found on all search engines, directories and web sites in their industry.
A common SEO company trick to get you placed LEGALLY is to get links to your site. They may pay for links on other web sites that have high PR in your industry. Example, they charge you $2,000. a month to optimize your site then they pay $500. a month to other web developers for thousands of links in. What happens when you cut them off. Well they cut you off leaving your site slowly to calm down the ranks. It will probably be better off than it was before, but you need links coming in to you.
Another thing, this company may have to manage your link ad campaigns.
So lets look at this;
If you made as a SEO $52,000. a year and there are 52 weeks in a year. You would make $1,000.00 a week. Just doing half of the things I mentioned would take a week to do. Allot of that stuff is an ongoing thing. It cannot be done by just anyone. There has to be a certain level of experience.
My adivice to you, is to read up on it, so that you can be prepared when you do hire someone. You want to know every single thing they do and it must pass through you to be implemented. Becuase if they spam, you could be in trouble.