first of all look at dores code to know how FM_CmdStart works (get_uc and not pev). you just changed your forwards name although you were still using FM_PlayerPreThink.
UC_Buttons & IN_JUMP or pev_button & IN_JUMP will be true for more than a single frame which means you will accelerate the player faster than you want him to be. for this you can easily use !( pev_oldbuttons & IN_JUMP ).
example:
1st frame - you jump - pev_button & IN_JUMP && !( pev_oldbuttons & IN_JUMP ) - you are in air
2nd frame - your in air and still pressing +jump - pev_button & IN_JUMP && pev_oldbuttons & IN_JUMP
3rd frame - you release jump - !( pev_button & IN_JUMP ) && pev_oldbuttons & IN_JUMP
4th frame - still in air - !( pev_button & IN_JUMP ) && !( pev_oldbuttons & IN_JUMP )
...
~70th frame - you land - !( pev_button & IN_JUMP ) && !( pev_oldbuttons & IN_JUMP )