Another question related to this topic. Say you have a program that always wins or ties (it aims to always win) and you have the same program on another computer. what would happen if they played eachother? My idea is that they would either draw or white would win as white is always a step ahead (and therefore when both black and white are one step away from check mate white would win) any other ideas?
@MeGusto09: In the second sentence you make the assumption that the program always wins or ties. That is a heavy restriction, which directly implies that it will never lose. If it will play against itself and one of the sides wins, then will the other side have lost and is the first assumption not true. But if we must assume that that assumption is true, then can it only draw against itself.
I think your statement is too crude. If you would say that the program will always win or draw when it plays with white and it will now play against itself, and you ask us what the result will be of that game, then must we say that all we know is that white will not lose, hence black not win. But that is all we know.

@shockinn: do you realize that ponz111 made an ironical remark?