1) a player attempts to remove a vegetation specimen (say, a group of flowers, but I suspect the actual type is irrelevant)
2) a PlayerRemoveVegetationEvent is generated
3) let's assume a plug-in cancels the event
4) result: the group of flowers is not collected and remains visible in place and the cursor on it turns into a hand
So far so good. However, if the player attempts to remove it again, no event is generated, as if the vegetation be no longer there.
It remains so, until the player moves away enough for the chunk to be unloaded. When the player comes back there and attempts to collect the flowers again, the cycle resumes as above.
Summary: it seems as when this event is cancelled, the target object is not completely removed and remains visible, but it is anyway removed from some internal data structure.
Perhaps this applies to other world modifying events too?