if you have a specific cursor to show the character is currently holding an item then you will need to create a condition; something like: "item_held?"... & add a query to the mouse over/out actions for each item.
if condition "item_held?" is false
set cursor "whatever_you_want"
end
Well I doubt I got it right, but I came up with this setup. It's a quite messy solution and it doesn't work very well. I did screw something up, but I'm not sure what.
[Btw yes, I have prepared an individual cursor for each item. That cursor is set via immediate action after clicking on the item in the inventory exactly like you suggested in your first post.]
1) I created a new condition "itemX_held?", defaultly set on False
2) I added a new entry for action to "itemX" - when "action" is executed (immediate):
Change condition "itemX_held?" to True
3) I set action for active object in the scene - when "Cursor enters":
If condition "itemX_held?" is false
Set cursor to "look"
End if
4) And for "Cursor leaves" I set:
If condition "itemX_held?" is false
Set cursor to "walk"
End if
Change condition "itemX_held?" to false
Did you mean something like that or am I completely wrong?

I'm not sure where exactly (in which place/event) should I change that condition back to False in order to get whole setup right :-/