I was wondering why the plugin I've modified to help prevent comment and trackback spam wasn't saving its cache properly. Turns out, it's a bug with how MT interacts with postgres.
Fortunately, I found a solution here: David Raynes: Getting Postgres and Movable Type to play well together.
Guess I've just added yet another patch to my ever-growing MT patch collection (it seems like they would have incorporated this fix or something like it already ... but oh well).
Update: Upgrading to MT 3.16 required changing the mt_plugindata plugindata_data column to type bytea but still requires this patch to work.