I assume when you say "IR Learn," you mean learning into the computer through the remote when connected to the computer. This has always had problems, and in fact in the last ten (12?) years I have NEVER used this mode.
Let's call the collection of commands for a component a "template."
My programming practice has been to assemble existing templates that I want to use, then add new templates that I create. To do this I take a page I've created with 20 blank spaces; in the editor add command names, just reading down the remote from top to bottom; I store that file; I download it to the remote; I teach the commands to the remote and check them; I upload the file and save it. I then move on to the next component.
In this way, the connected "Learn" mode is not used and there are no problems with it. This is way more tedious to write than it is to do, with one exception: downloading to a Pronto is so ridiculously slow that sometimes I forget where I am and teach codes to the remote while also changing the graphics on the computer... I then can choose to download the new graphics to the remote, erasing the commands I just learned, or I upload the newly learned commands, erasing the graphics changes I've made.
NEVER combine files with Home pages, just to keep things simple.
A good answer is easier with a clear question giving the make and model of everything. "The biggest problem in communication is the illusion that it has taken place." -- G. “Bernie” Shaw