I don't know if this has been offered as a solution yet; I was unable to find anything similar, so...
If you need to hide a Dynamic Forms module from anyone NOT registered on the site but still need it to work (remember, the form HAS to be visible to ALL USERS), the following hack will permit you to do this.
Create a new container using the following code:
<%@ Control language="vb" CodeBehind="~/admin/Containers/container.vb" AutoEventWireup="false" Explicit="True" Inherits="DotNetNuke.UI.Containers.Container" %>
<%@ Register TagPrefix="dnn" TagName="TITLE" Src="~/Admin/Containers/Title.ascx" %>
<%@ Register TagPrefix="dnn" TagName="ACTIONS" Src="~/Admin/Containers/SolPartActions.ascx" %>
<% If Request.IsAuthenticated Then%>
<% End If %>
Between the If/End If, place your content div as you would with any other container.
Once you've got the container, you can create the page on which your form will reside and give it ALL USERS rights. Place the module on the page and assign it the container you created above. Simple as that.
Now, if a user with no rights (i.e. ALL USERS) views the page, the form will not be visible. If they are logged in as a registered user (or any other 'registered' role), the form will be visible to them. The nice thing about this is that the form will work as if it were visible to all users.
The container could also be tweaked to allow visibility to specific roles if you'd prefer, however, I haven't tested it to that extent.
Hope that helps!
Jordan Stradtman