Hi, and thanks for sharing! I already thought about adding reCAPTCHA, but then decided it wasn't worth the hassle and went with a normal blocker instead (that also features the "hidden" fields). Just a few things:
$info = array(
"name"=>"Spam blocker - petition.php",
"version"=>"1.0",
"author"=>"Eric Stevens",
"category"=>"Administrative",
"download"=>"core_module",
"settings"=>array(
'hidden_reqname'=>"Name of hidden field which must be populated,|".md5(getmicrotime(true).e_rand()),
'hidden_reqvalue'=>"Value of hidden field which must be populated,|".md5(getmicrotime(true).e_rand()),
'hidden_noname'=>"Name of hidden field which must NOT be populated,|".md5(getmicrotime(true).e_rand()),
'hidden_novalue'=>"Value of hidden field which must NOT be populated,|".md5(getmicrotime(true).e_rand()),
'spambottext'=>'Text to be displayed for potential spam bots:,textarea|'.$message,
)
);
I'm pretty sure you're not MightyE, and your module's also not a core module

Also, it's probably not necessary to call getmicrotime(), e_rand() and md5() five times for every time the module is queried - maybe add them once in the install function.
rawoutput("<p style='display: none;'><b>Please note, do not change these fields</b>, they are an anti-spam measure. " .
"Most users will not see them; if you are seeing them though, then you're using a browser that doesn't recognize " .
"the attributes we use to hide them. That's ok, just don't change their values!<br>" .
$input1 .
$input2 .
"</p>");
Maybe make it translation ready? Also, I can't seem to find where you actually insert the reCAPTCHA part, but maybe I missed that.