env.ValaProgram('target', files) does not make an executable named 'target', because it does not pass 'target' to valac's --output parameter. This is due to the fact that baseCommandString does not include the --output or -o parameter. I have attached a fixed version of the script (hopefully not breaking anything). Bonus: It also fixes scons -c (previously it didn't remove the compiled executable).
See original report by Filip Lamparski at https://bugs.launchpad.net/scons-vala/+bug/1019867