On the subject of skills and advancement, although if this goes on for much longer we should split it off into a Suggestions board thread...
I think a relatively simple way to realistically model advancement is to base XP gain on a "relative difficulty" number. What I mean by that is that you have a "difficulty" for each task, and you compare that to the dwarf's skill. Making bolts, for example, is easy compared to making crossbows. Shooting from two squares away at an archery range is easy compared to hitting a charging goblin from a screen's width away.
Where this ties into XP gain is this: A dwarf achieves maximum learning rate when doing something challenging, but not too challenging. In other words, you compare the difficulty to the dwarf's skill and create a normal distribution about the relative difficulty, shifted slightly upwards.
The result, if you want a dwarf to train fast, you need to challenge them constantly. If you just leave a dwarf repeating a simple task ad nauseum, they will soon "outgrow" the learning potential of that task. Once you've made a thousand bolts or shot a thousand into a stone target from five paces, there's just not much doing more of that will teach you. Conversely, if you've never made any armour before starting out with a full suit of steel plate probably won't teach you much either: you're just going to massively cock it up.
This "relative difficulty" number could be used for other things, too: Task speed (so a dwarf gets faster at easy things first, but is still slow at hard stuff), quality modifiers (so a Proficient dwarf might produce high quality shields much more often than high quality suits of full plate, because they're still beyond him somewhat), etc. It's a concept that I think you can do a lot with, and while there's a fair bit of development effort involved, none of it is all that complex, and the results would help with the "legendary proliferation" problem quite a lot.
Wouldn't it be great if your marksdwarves could only (efficiently) learn so much from the archery range, and would have to move on to shooting real targets to progress further? And if sparring dwarves learnt fastest when sparring with someone *slightly* better than they are? And if your miners didn't become legends from clearing a 100x100 sand stockpile, but instead needed to reach exotic metal veins deep in the mountains to continue "learning"?
I'm just me, but I think that's pretty cool.