Webform doesn't send hidden input if sender is not logged-in
Can you give us the token you use for the hidden field? Maybe the token you use only available for logged user. I used hidden fields but with a general token (for example date or ip_adress) and it works fine for non logged users