Could always put hp updates on a timer....
The packet isnt that big:
/*
** Spawn HP Update
** Length: 12 Bytes
** OpCode: b220
*/
struct SpawnHPUpdate_Struct
{
/*00*/ int16  spawn_id;               // Id of spawn to update
/*02*/ int16  shu_unknown1;           // ***Placeholder
/*04*/ sint32 cur_hp;                 // Current hp of spawn
/*08*/ sint32 max_hp;                 // Maximum hp of spawn
};
12 bytes... your connection (if you were 56k) is 56000 bytes/second.
I highly doubt this is the problem 
