I don't understand how anything that simple could cause bugs. In a bigger project, if you approach your coding like this it will turn into a mess of variables spread around event sheet.
There is also no need to transfer that data between levels (this is what global variables are normally used for) as it is just inputs and if you use getter function you can do it all even better.
Usually player related things are used globally throughout the game so as a standard I use global variables for anything player related. Whether I'm using global or instance variables it is kind of irrelevant though as the events are the same, it is just a preference.