Just an update for anyone still wishing for the cursor changing addon... I experimented with this for quite some time and found it to be pretty much impossible with the current API. The main issues are:
Only valid uncompressed .blp's will work. Not a huge deal, but it would be much easier if SetCursor() accepted .tga files like everything else.
The CURSOR_UPDATE event is fired very frequently by Blizz (according to a post somewhere on the WoW forums, every OnUpdate). Worse, every time it's fired, Blizzard sets the cursor back to what it "should" be. So there goes any hope of efficiency - the addon will be continually fighting with Blizz code over the cursor icon. Bleh.
It is not possible to use different cursors in different situations (e.g. when you mouseover a chest, herb, etc.) because Blizzard does not provide that information - presumably this is to prevent automation.
Replacing specific cursors is fairly easy with the method described in previous posts, i.e. putting .blp files in Interface/Cursor/, but it seems that's the only reasonable way to do it for now. Perhaps someday Blizz can add some functionality to the API, such as setting paths for cursor images to use for each mouseover type.
Edit: The more I think about this, the more I drool over the thought of an addon that can do for the cursor what ClearFont does for text...I'll give a dozen e-cookies to anyone who can design some nice looking cursors and make this happen!