As far as I had seen (and I might be wrong, I took a couple of minutes to look this up and wasn't quite thorough) there's no real way to set a player's velocity, The only thing that makes sense to us regarding how to do it would be
Entity.SetVelocity(int Velocity) but as the function explains when it is used on a player it can only add, not set the velocity of the player.
Though I do agree that the sudden teleporting back can be exceptionally frustrating both for Bhop and Surf it is a tricky thing to solve and I can see why they would've handled things the way they have as it stands. I'm unsure exactly how I would personally implement a fix (perhaps one can mess with adding negative velocity?) but I'd need to test that to see whether or not that would work.
Regardless
Martin is a smart guy! I'm sure he could figure it out. Regardless, what clarky said isn't wrong either, currently, it is linked to your ability to control your speed and hop exactly at the right time not to get teleported back which can just serve as a tool to increase the record attempt - even so, I've in my time on bhop (which is quite a while ago I might add) yet to see a map myself that requires prehopping in order to complete it anyway.
So at that point, I wouldn't quite see the need for such a change if it works just fine. (If any such maps exist then scrap that last part.)
Regardless! The idea is not bad but might not be vital - nice suggestion still. We'll see what the developer says (when he says something.)