Hi Lance,
you're correct, the key in the returned object is the input address, and any geo information found is attached as the value for that key, or null if the address didn't yield anything. I'm actually fond of Javascript's defacto behavior of ordering objects, where the output order is the same as the declaration order, but Ruby doesn't preserve the order, which is why the API output gets jumbled.
Sorry about the stale documentation, you have the correct 0.41 version. Because I don't get an AMI id from Amazon until *after* I've created the VM, I can't include the up to date information on that in the internal documentation. I do normally try to update the rest of the information (version number, date, etc) though before I package it up, but I must have skipped that this last time through.
Does that help?
cheers,
Pete