I have received the following information from Philips on this issue:
The explanation for this phenomena is as follows:
The iPronto Remote Control works in the following way. Each button in an iCF is part of a specific device. Each device has a specific brand and IR code set associated to it. And each button in the iCF is then defined by its function within that codeset.
Now, if you learn a code under the button on the iPronto, the application stores it using the same codeset and function identifiers. So, when you have copied/pasted multiple buttons in iProntoEdit, they will all have the same identifier. If you then learn one of them - the learned IR code "magically" applies to all of them.
The best workaround is to make sure that in the editor each button in a device has a unique function assigned to it - even if you plan to learn a code under the button.
A related issue, by the way, is the following: since a button is uniquely identified by its database function, you can only have one database IR code per button. So, when you are building a macro, you can only use one database code as part of the action list. Should you add another one (the Edit application allows it) you will find that the other ones in the list will always be identical to the one you just added. Therefore, to build a macro with multiple different IR codes, you will have to use links to other buttons that have learned or IR database codes under them.
These are all architectural issues of the iPronto that we are working on making better. For now, however, this is how it works.