Is this code correct? It still seems to be doing an infinite loop:
qa_suspend_event_reports(true);
require_once QA_INCLUDE_DIR.'qa-app-posts.php';
qa_post_set_content( $params['postid'], $params['title'], $params['content'], $params['format'], $tags );
qa_suspend_event_reports(false);
EDIT: Scratch that, I think MySQL was still in an infinite loop. Restarted Apache and it seems to be working now. Thanks for your help, Gideon!