It is, of course, a really bad idea to use a question variable called 0. However, it turns out that the OU has a lot of Opaque questions (https://github.com/moodleou/moodle-qtype_opaque) that do just that, and it is impossible to change it now.
Amazingly, the system can actually cope with such silly names, except for one place where we do a sloppy test for whether the name is NULL, so I will fix that.
Also, interestingly, <input name="0" ... /> is valid HTML, so supporting this is not totally crazy.