There is one workaround and that is to create throwaway accounts.
So you create an account specifically with the intention of sharing the username and password with your trading party. You wouldn't want the account to get flagged as needing verification so the amounts you would hold in it would need to be under the levels that non-verified accounts are allowed to transfer.
This lets you lock in a certain amount of USDs and transfer that value as dollars to someone else by giving the username and password to them. Then that person completes the verification steps to withdraw the dollars (or use the funds to buy bitcoins at a later time). Since most people already have a Mt. Gox account, trying to get verification on a second account at Mt. Gox would
likely bring closer scrutiny and/or [Edit: be a violation of their user agreement and possibly] see the funds getting frozen.
Also, there's the chance the person who funded the account will claim the account was lost due to identity fraud (hacker gaining username/password) after trading it away and possibly regain access to the funds. So this isn't a method two parties who don't have trust in each other would want to follow.
But it might be a way to separate off some bitcoins into multiple accounts, convert them to dollars to lock in a certain amount of value in USDs, and then later trade those USDs away.
That's nowhere near as convenient as the redeemable codes, but it is an option.
Of course, other exchanges still have account-to-account (A2A) transfers, if the need is simply a USD-denominated store of value that can be easily transferred to and from BTCs:
-
http://en.bitcoin.it/wiki/A2A_Transfer_Methods