I think the OP is introducing a lot of noise into the uCurrent and probably hitting one or both rails on the opamp. It's clipping the noise.
I'm resurrecting an old thread here but I just wanted to say that MarkL is exactly 100% correct. I had precisely the same problem as the OP - uA range readings seemed to be ok, though a bit lower than I expected. nA range readings were less than half of what I expected and wandered around noticably. I spent quite a long time studying the schematic and measuring the behavior of the opamps directly. U1 seemed to be behaving ok even on the nA range but U4's output was just not right at all.
I was just about to order new opamps and replace the "blown" U4 when I read MarkL's post and checked with an AC measurement rather than DC. 1.4V! Aha, that's the maximum possible output range. Smells like oscillation with clipping. Checked on the o'scope and yup, that's what was going on. So U4 wasn't blown, but what was causing it to oscillate so badly? Well, it's oscillating at 60hz. Oh, right. In the nA range all my cables are antennas. After much fiddling with cable configurations I came to the conclusion that (at least with my equipment and environment) that any significant length of cable that connects to Current+ is going to pick up huge amounts of noise which gets amplified 100x and clips the output. The only halfway-reliable way to measure in the nA range is to put my uCurrent on the low side of my device with as short of a wire between the device and the Current+ post as possible.
It's (probably) easy to replicate this. Grab a 10M resistor and set your uCurrent to nA. Attach your resistor directly to the positive binding post on your power supply then run a patch cable from the resistor to the Current+ post on the uCurrent, and another patch cable from Current- back to power supply ground. Dial up 5V on the power supply. If you check DC voltage on the uCurrent voltage output you'll see something like 150mA to 200mA rather than the 500mA you should see. If you check AC voltage you'll see ~1.4V.
Now simply swap the resistor and cable so instead of the resistor being attached to the power supply binding post, it's attached to the uCurrent Current+ binding post. You'll find that the DC voltage reading magically becomes correct at 500mA. That's because there's not much of a wire run between the load and the uCurrent to pick up noise.
I wish there were some kind of "Idiot's Guide to the uCurrent" document that would walk us newbies through common pitfalls like this. There's a lot of nuggets of wisdom sprinkled throughout the forum but it's hard to sift them all out.