Thanks for the help.
I ended up using the rules module along with rules url argument module.
I used the rules module to watch out for anonymous users, and query strings of "?surveycomplete=yes". I did this check for all nodes of my desired type that did not have a node reference to a webform.
If a user was anonymous and did not have the query string, then I redirected to the webform that the node was associated with.
To make the webform redirect appropriately when it was completed I changed the redirect location to the original node with the query string appended.
The downfalls with this approach is that every node that there is a 1 to 1 relationship for content to webforms when a many to 1 would be nice. Also, anyone could technically by pass the survey via appending the query string.