If you continue to have no luck, I would suggest putting some sort of request in Script Requests since this is quite difficult to do using events.
I have come across this problem myself in the past, but I just simply resorted to fading the screen to black, and fading it back in to the event I needed it to, and that worked fine for my system. If this doesn't work for you, you could try the following algorithm:
Set variables for the Hero's X and Y coordinates, as well as variables for the destination's X and Y coordinates. Subtract the Y and X values and then have a loop with a counter for scrolling one tile to the left, right, up, or down based on whether the difference is positive or negative. Stop the scrolling when it has scrolled the necessary length.
Hope that makes sense. It probably won't work very well. If it doesn't, you'll either have to do it based on a script (which shouldn't be too difficult but I'm not sure how to do it), otherwise use that fade-in fade-out method if that works for you.