Is it a bad idea to change a Participant's registered event after a payment has been made?
From a bookeeping perspective it wouldn't be too hard to implement. But as it's not a frequent use case it may have not been implemented during the refactoring for CiviAccounts a couple of years ago. 

Were we implementing this as a core enhancement I would want to ensure that scheduled emails work properly through this change of events. I wouldn't want to send any ones after the change that pertain to the old event, and I think the user should perhaps be warned about missing any scheduled events as a result of the change. For example, a mail scheduled for 2 days after registration in Event A may not go out if the change to that event is made made more than 2 days after the registration. 

I don't foresee any reporting problems, but there would need to be regression testing. Basically, there would be one additional cancelled registration in the original event, and one additional registration in the new event.