Its definitely a way to go about porting games, but its laborious and sometimes hard to fully document the program's existing behavior, especially with uncommented assembly.
Yeah, and reimplementation is, arguably, more difficult than tweaking source code and recompiling. 8)