Try placing the specific skills underneath the grouped skills. It may be just that SKILL_LEARN_RATES and SKILL_RATES reference the same percentage value for their tags.
Sorry for the delayed response. I've been playing my current game. Anyway, I haven't tried any of the above suggestions yet but will let you know when I do.
As for SKILL_LEARN_RATES and SKILL_RATES, I suspect exactly what Roses is saying, which is that they reference the same variable through two different tags*. Ergo just a semantic difference. How diligent is Toady with his scripting standards? Depending on the project/programmer, I could totally see a redundancy being possible. I can imagine that the SKILL_LEARN_RATES was implemented first but when he added the rust variables, he needed to implement SKILL_LEARN_RATES in order to set the additional parameters. But someone with more experience might be able to say whether such a thing is characteristic of Dwarf Fortress or not...
* However, it is odd that Dwarf Therapist seems to be processing them distinctly, albeit only as a displayed value that is inconsistent with actual results.
By the way, just to keep things in perspective, I really *don't* want to muck about with these learn rates. These efforts are all just to lower the experience levels of immigrants so that they don't arrive with any skill level higher than Proficient. Is there any channel for asking Toady to add modding variables or features? Like a way to set how many points immigrants get in d_init.txt?</wishful thinking>