As I've found out, the problem was related to using cookies in iFrames which triggered the Spamshield of the form in the iFrame to block the form submission.
Since it's an opt-in form, I deactivated the Spamshield, but I've found a solution (which I didn't test) that should make cookies work by a submit to a hidden form that is triggered on loading the iFrame content.
<script> window.setTimeout(function() { if (document.cookie.indexOf('test_cookie=1') < 0) { var name = 'test_cookie', div = document.getElementById(name), iframe = document.createElement('iframe'), form = document.createElement('form'); iframe.name = name; iframe.src = 'javascript:false'; div.appendChild(iframe); form.action = location.toString(); form.method = 'POST'; form.target = name; div.appendChild(form); form.submit(); } }, 10); </script>