It would probably be easier and also better for the link popularity of the new domain if you broaden your 301 redirect. You are probably only redirecting index.html. You can change the 301 into a generic one that will match all urls at the old domain and redirect them to the new domain.
Thanks for the reply! The old domain is a wordpress blog, the sub-domain is a forum, so there are no matching URLS. Would removing the blog/db help? Any URL from the blog redirects to the main page of the forum index...
If you are already redirecting all the blog urls into the forum index page then you do not need to worry about blocking the pages. It will just take some time for the spiders to revisit your site and update their index.
Use the Live HTTP Headers extension for Firefox to confirm that when you ask for any of the old URLs, that the first response from the server is a 301 redirect to the correct URL on the new site.
If the redirect is working fine, then you have done as much as you can. Google can take more than a year to remove old URLs sometimes. If you have a redirect in place then anyone clicking those links is taken to the new content, so no damage is done.