If SQL Agent successfully calls the command shell, well, it considers it a success regardless of what happens in that shell.
To accomplish what you are trying to do, create an additional step in the job, and use xp_fileexist to determine if the transfer was successful. xp_fileexist is an undocumented extended stored procedure, so be aware that it could change unannounced in a future version/service pack. It uses two parameters, the first is the filename (with path), the second is a result. 1 if the file exists, 0 if it doesn't.
declare @result int
exec master..xp_fileexist 'c:\my_folder\my_file.txt', @result output
print @result
If the result is 0, you can try again, or throw an error and fail the job.
Steve