This might help you
Windows batch files: .bat vs .cmd?
http://www.pcreview.co.uk/forums/cmd-vs-bat-t1468592.html
A documented difference found in google groups
The differences between .CMD and .BAT as far as CMD.EXE is concerned are:
With extensions enabled, PATH/APPEND/PROMPT/SET/ASSOC in .CMD
files will set ERRORLEVEL regardless of error. .BAT sets ERRORLEVEL
only on errors.