Okay, so CiviCRM.log did/does have some useful information. It would appear that the code is trying to insert a row into the table civicrm_contribution, but without specifying a contact_id, which not only is a required field, but there is also a cascading delete constraint on that field against the civicrm_contact table. Before I start trying to really dig into this, is there anything obvious that presents itself? All of the submitted information both GET vars and POSTed data from the IPN is correct. Here is the specific query and error (Note: I replaced any potentially sensitive data with # symbols):
[debug_info] => INSERT INTO civicrm_contribution (domain_id , contribution_page_id , receive_date , total_amoun
t , fee_amount , net_amount , trxn_id , invoice_id , receipt_date , source , contribution_recur_id , contribution_s
tatus_id ) VALUES ( 1 , 1 , 20080809120429 , 25.00 , 1.28 , 23.72 , '############' , '#############' ,
20080809120429 , 'Online Contribution: Support the Commons' , 43 , 1 ) [nativecode=1452 ** Can
not add or update a child row: a foreign key constraint fails (`civicrm/civicrm_contribution`, CONSTRAINT `FK_civic
rm_contribution_contact_id` FOREIGN KEY (`contact_id`) REFERENCES `civicrm_contact` (`id`) ON DELETE CASCADE)]