Hi Dan,
From looking at your settings, I would say it should be awarding the badge. I just tested on my Moodle 3.0.2+ site with a questionnaire and it's being awarded with no problems.
The only thing I can think of of checking is to see if your cron is running. I have mine set for 1 minute and as soon as my test student finishes, the badge is showing up in the latest badge block of their course.