I have the same behavior in my game. Broken sword interface, standard drag&drop, vis 5.04. Rightclicking on an object while dragging an item results in triggering the right-click-action (and canceling the item).
This is why I swapped over to a pure command based system. I have a single command for left click & a command for every single item the character can pick up with a unique cursor for each. This gave me much more flexibility than the built in drag & drop system or command + item system as you can easily query in the right click action for a scene object or character, if command is x do something, else set command back to default end. This prevented right click actions from being triggered if the command in my case wasn't "left_click" as that meant my character was holding an item.
Technically this method is no longer needed since Simon implemented the if Lua result query action part to VS5 as you can now use that to query if the character is holding an item by returning the UsedItem datastructure field.
return game.UsedItem:isEmpty()
If it returns true then the character is not holding an item. If it's true you would trigger the default right click actions, else you would drop the item instead & no actions would be executed.
P.S: these methods are only valid on execute at destination commands when the character is already standing at the interaction position & for immediate execution commands.