Since Peter posted his rules for arrow recovery in GURPS, and since the topic came up on the OD&D forums this week, I ought to post my ideas on this. The short version: the maximum number of arrows recoverable depends on how many would be broken or lost, and the number actually recovered depends on the time spent to do so.
First, this assumes that you use 1d6 arrows per attack roll, instead of only one arrow. At least, this is true for true ranged combat. If there's an actual mêlée going on and the archer is firing into it or actually involved in mêlée, it's one or two arrows per round. Also, magic arrows or silver arrows are one or two per round
Second, one-third of your arrows break or are otherwise useless after being fired. I base that on the idea that if I were making situation rolls for each individual arrow (break on 5+ on 1d6,) arrows would break 1/3rd of the time. Some conditions may increase the breakage rate. Magic arrows are only magic on their first shot; they're counted as mundane arrows for recovery purposes.
How many arrows you actually recover depends on how long you spend recovering good arrows compared to how long it would take to recover them all. And that depends on the area that was targeted. The width of the area targeted, in ten-foot squares, is the number of moves it takes to recover all the arrows. One move in this case means five minutes outside of combat.
When a player says "I retrieve the arrows I used", I would then ask "how long are you going to search for arrows?" The fraction of arrows recovered is the number of moves the player takes to search divided by the number of moves it should take.
Hiding places, like grass, make this harder. Instead of automatically getting however many arrows indicated, figure out the closest die roll. For example, if the archer could recover 17 or 18 arrows, roll 3d6 to see how many are recovered in deep grass. The player can keep trying until all intact arrows are recovered.
If there is an obstacle like a pit or deep river crossing the targeted area, some of the arrows will actually be lost, not just unusable. This reduces the maximum number of arrows recoverable. Instead of 1/3rd of the arrows being unusable, make it 1/2, or 2/3rds if it's an execeptionally large obstacle.
This all sounds more complicated than it actually is. Basically, I'd just pick a multiple of 1/6th as the fraction of recoverable arrows, divide that by the number of moves it would take to recover them all, and if the search conditions are tricky, turn that into a die roll. That's how many arrows a player can gather per move.