I think custom variables could accomplish a lot of things.
With the addition of other things like $v and vehicle teleporting, you could effectively solve both the spawned vehicle respawn and weapons respawn issue. Whether fixing up a custom respawner or doing that is more work is debatable.

I came up with a couple other useful things you could do with just custom variables, however. This is assuming a lot of things, particularly the order of parsing the variables: $ -> # -> commands (as opposed to $ -> commands as is normal), and # being the prefix to custom commands

Psuedo code for keeping track of an alternative scoring method:

Code:
event_start 'addvar gamenum 1;setvar endgame 0'

event_join #$hash_gamenum!=#gamenum 'varset $hash_gamenum #gamenum;varset $hash_score 0'

event_kill 'addvar $hash_score 100'
event_score 'addvar $hash_score 4000'
event_assist 'addvar $hash_score 40'

event_join #$hash_score>0 'w8 3;say $n "Welcome back! Your current score is #$hash_score"'

event_end 'w8 4;setvar endgame 1;w8 6;say * "#redmvp was the Red Team's MVP for this round;say * "#bluemvp was the Blue Team's MVP for this round"'

event_alive #endgame=1 #$hash_endgame!=1 'ctf_score $n #$hash_score;varset $hash_endgame 1;varset testmvpscore #$hash_score;varset testmvpteam $team; varset testmvpplayer $n; cevent test_mvp'

event_custom cname:test_mvp #testmvpteam:red #testmvpscore>#redmvpscore 'varset redmvp #testmvpplayer;varset redmvpscore #testmvpscore'

event_custom cname:test_mvp #testmvpteam:blue #testmvpscore>#bluemvpscore 'varset bluemvp #testmvpplayer;varset bluemvpscore #testmvpscore'

event_alive #endgame=0 #$hash_endgame=1 'varset $hash_endgame 0'
I used $hash so that they could persist for each player the rest of the game session (storing variables to a file would be a huge plus, otherwise using the event commands, the could be written to set, but there's no good way to remove the old ones so it'll accumulate in the events file.)

Some other examples of things that would be possible with custom variables:
  • Keeping track of kills while using a vehicle
  • Multi-team games
  • Tracking death streaks
  • Any kind of timer
  • Player/Team currency (buying vehicles etc)
So it's pretty significant for custom "gametypes"

Overall, I'd like quite a few things:
  • Custom variables (varset, varadd, uses #)
  • $v variable for vehicle events (and player events for if the player is in a vehicle?)
  • Tp commands for any objects
  • Having some kind of return value from functions like spawn
  • As an interim for custom variables, being able to pass values through cevent (like cevent fishes Apple 3 Fish) would sort of work, then you could have event variables like $1 $2 and $3 ($1:Apple, $2=3, $3:Fish)
I understand you're often busy, but custom events sort of inspired new hope that one day we can have these nice things.

I also think being able to set spawn times for players would be really awesome, that was a feature from the old days that I really missed.