It seems to me that this is laden with too many gotchas to implement in a standard way.
In our shop, we've just come to expect that this will happen. If its really problematic, like someone just plain posted to the wrong case or if its bad/mis-information;
We run our own local instance of FB so I usually...
Just connect to the database and fix it.
UPDATE BugEvent
SET ixCase = @NewCase
WHERE ixBugEvent = @BugEvent
or
DELETE BugEvent
WHERE ixBugEvent = @BugEvent
You can get a list of Events from
SELECT *
FROM BugEvent
WHERE ixCase = @CaseNum