Original remotes get lost or break. When I get a new device, I learn all the buttons from its remote and store them in a file on a PC. You never know if you'll still have the original remote when you decide you want some obscure function.
Usually there is no need to worry about dirty learns. But if you are worried enough that you were wasting time learning the same button multiple times, it would be easier to get programs for decoding Pronto Hex and for reencoding clean Pronto Hex.
I suggest using my DecodeCCF.exe with DecodeIr.dll for decoding all the IR signals in a CCF file and Using my MakeHex program for reencoding.
[Link: john.fine.home.comcast.net][Link: john.fine.home.comcast.net][Link: john.fine.home.comcast.net]