OK here's what you need to do to fix the error. In the file qa-include/pages/question.php on line 263, change this:
$qa_content['main_tags'] = ' itemscope itemtype="http://schema.org/Question"';
to this:
$qa_content['main_tags'] = ' itemprop="mainEntity" itemscope itemtype="http://schema.org/Question"';
To fix the warnings about the missing URLs, in qa-include/qa-theme-base.php on line 1962 change this:
$this->output('<a href="' . $post['what_url'] . '" class="' . $classes . '">' . $post['what'] . '</a>');
to this:
$this->output('<a itemprop="url" href="' . $post['what_url'] . '" class="' . $classes . '">' . $post['what'] . '</a>');
Not sure why Google suddenly decided to make this an error as it worked perfectly fine before. From my research it seems that the "mainEntity" should be optional.
Nonetheless, I'll add the above into the next version of Q2A (though the url fix needs to be more generic and respond to the microdata config option). Since Google has officially announced they're using the Q&A structured data it's possible we'll be getting more people checking their sites.
UPDATE: I've just pushed some changes to the bugfix branch on GitHub that should solve the problem.
UPDATE 2: for the missing name problem, change the following lines. In qa-theme-base.php in the body_content function change the qa-body-wrapper line to this:
$extratags = isset($this->content['main_tags']) ? $this->content['main_tags'] : '';
$this->output('<div class="qa-body-wrapper"' . $extratags . '>', '');
Then in the main() function remove the line starting $extratags = then change the next line to:
$this->output('<div class="qa-main' . $hidden . '">');