See ui-player.c line 889/890 (in 4.2.0):
Code:
skill = BOUND(player->state.skills[SKILL_DISARM_PHYS] - depth / 5, 2, 100);
panel_line(p, colour_table[skill / 10], "Disarm - phys.", "%d%%", skill);
looks like, unlike everything else, the values displayed for these two skills (disarm phys and magic devices) depend on the depth you're on when you check them - so if you took the dump on your original character at level 41 your skill would be 41/5 = 8 percent less vs in town.