Steven,
I understand your concern, but I think you are confusing *hosting* a domain with *registering* an domain. They are two different, and distinct processes. Granted, letting a domain *registration* expire has the effect of "canceling" or "removing" the *hosting* (as you can't reach the domain via DNS, though you would still continue to incur hosting bills), but canceling, or removing *hosting* will not affect the *registration* (the domain will remain registered, but can't be reached via DNS as it is no longer *hosted*)
By removing a "hosted" domain from it's status as being hosted as a re-direct, you will not be impacting the *registration* at all. This allows you to then create a new "hosted domain" at Dreamhost that is now "fully hosted" (or mirrored, or other choice that Dreamhost provides) rather than redirected as it is now.
Think of it this way: You can have a domain registered at registrar A, and hosted at hosting provider B. If you then dropped the hosting from provider B and signed up for new hosting at hosting provider C, the *registration* of the domain with *registrar* A would not be impacted.
Whether or not DH is Registrar A doesn't change any of that being true. As long as you are only adding/removing domain *hosting*, your registration of the domain remains safe (though you can still arrange for transfers of registration via the panel, and other changes, as long as you keep you registration current - not expired). You change the DNS records for the registered domain at the *registrar's* site to point to the nameservers of the *hosting* provider. You use the hosting provider's tools (control panel?) to tell the hosting provider how to handle the domain in it's nameservers records - whether fully hosted, re-directed or what. That is all you are doing under "manage domains" in the Dreamhost panel. 
Does that help make it any clearer, or did I just confuse you further? 
--rlparker