You need to apply your mediaqueried CSS after the general definition, as media queries have no higher specificity than un-mediaqueried CSS rules.
Also, you forgot to put the closing bracket of your media query, so both css rules belong to the media query and get applied, the latter one "winning". Fix it:
a {
font-weight: 700;
}
@media all and (-webkit-min-device-pixel-ratio : 2) {
a {
font-weight: 100;
}
} /* <- close your media query properly */
It works then.
Edit:
The reason it still seems to be not working for you (which it does) may also be that there is no difference in display between those two font-weights. Try to apply 700 and 100, and you'll see it works.
http://codepen.io/anon/pen/xGdpEy