Assuming Programmer A and Programmer B are equally skilled to begin with, the situation following the project would be as follows:
- Programmer A would have improved his programming skills more than Programmer B.
- Programmer A would know his resulting code better than Programmer B would know his.
- Programmer A's employer wouldn't have to worry about licensing issues.
The argument in favor of Programmer B is based on the myth that existing code is somehow superior to your own. This is a very dangerous assumption, look no further than MSA for examples.