Did you ever get this? Here's some minimal code that might work. Add to rpc.cpp after getwork:
Value broadcasttransactions(const Array& params, bool fHelp)
if (fHelp || params.size() < 1)
"broadcasttransactions <hexencodedtransaction> ...\n"
"Broadcasts specified transaction(s) out onto the network.");
for(int param=0; param<params.size(); param++)
string strTx = params[param].get_str();
vMsg >> tx;
CInv inv(MSG_TX, tx.GetHash());
Then add at the end of pCallTable (the next code block):
Maybe add "broadcasttransactions" to that next table, pAllowInSafeMode, otherwise I guess you have to start the server with -disablesafemode.
This is untested, I only spent about half an hour on it, so you don't have to pay if you use it.