Air costs from Richmond:
$495.20 to Cedar Rapids ($485.20 on American....but they are currently in bankrupcy)
$405.20 to Moline
$402.20 to Des Moines
These fares are non refundable once they are purchased. If any changes have to be made, there is a minimum penalty of $150.00 plus any fare difference.
Rates are subject to change until reservations are made. These fares are round trip and have to be paid in full within 24 hours of when a reservation is made.
By the time you figure a drive to Moline to pick him up and then drive home....and then to take him back to the airport and drive back home, the extra $80.00 from Cedar Rapids would make more sense. You would probably be spending more than $80 in gas to drive to and from Moline twice.
Depending on his schedule, I would suggest the following:
United Airlines (Would change planes in Chicago)
December 17 - Depart Richmond at 7:46AM, change planes in Chicago, arrive Cedar Rapids at 10:51AM
January 2 - Depart Cedar Rapids at 4:32PM, change planes in Chicago, arrive Richmond at 9:41PM
Delta (Would change planes in Detroit or Minneapolis)
December 17 - Depart Richmond at 12:48PM, change planes in Detroit, arrive Cedar Rapids at 4:34PM
January 2 - Depart Cedar Rapids at 2:00PM, change planes in Detroit, arrive Richmond at 6:49PM
There are certainly other flight times to choose from. This is just a sample of the available schedules.
A military rate is over $1000 because it doesn't require any advance purchase and it is fully refundable and changeable.