Two possibilities:
the current rating is what the sourcing device is able to handle without damage/overheating, but not something it takes measures to limit itself to
the voltage drop across the LED is higher than you think, hence the voltage drop across the resistor and the current through it are lower than 50 ma. A random LED data sheet I just dug up listed a forward voltage of 1.85v - that would give you a drop of 1.45v across the resistor and a current of 44 ma (which happens to be twice what is recommended for the LED I picked - you might want to consider a larger resistor - the old radio shack kits would use 680 ohms with a 3v battery supply)
If you have a voltmeter (or maybe the arduino's own analog input) you can measure the voltage of the node between the resistor and the LED and determine the respective drops across the resistor and LED, and thus the current from the drop across the known resistance.