The elements of the supplemental of which he disagrees such as the time tables and benchmarks are all non-binding. As our local radio personality Thom Hartman has pointed out on a number of occasions Bush could just sign the bill and then issue a signing statement saying he's ignoring all of that stuff and go on merrily sending our troops into his quagmire without facing a single repercussion for thumbing his nose at congress.
So why the veto?
The only two answers I can come up with are politics and his ego. Both are stupid reasons to force a constitutional showdown over non-binding legislation but our President hasn't shown himself at any moment of his life to be a very bright man.