Start with finding the attributes of the memory that you prefer (tighter timing or higher clocks), then zero in on the chips that best provide those attributes, then select the brand last, using customer service as a big criteria because if you ever need an RMA, that will surely come to play.
For 2x1GB modules and higher clocks, your best bet is something like the GSkills or OCZ PC4000s using Samsung UCCC or something Infineon based and for tighter timings, but lower memory clocks (uses dividers for the CPU), something with Infineon. You will need to do a little more reading on the Infineon chips because I can't remember off the top of my head which of the BE-5, BE-6, CE-5 or CE-6 does the tighter timing (but lower clocks) and which is better for higher clocks. The stuff used in the PC3200 usually will run the tighter clocks and the stuff used in the PC4000 is the higher clocking (brilliant, right?
).
For 2 x 512 sticks, anything that is Samsung TCCD based for high clocks or Winbond BH-5 / UTT for lower clocks at tight (2-2-2-5) timings.
Pick your poison from the linked list.
http://ramlist.ath.cx/ddr/
There is no other board that will get more from ram than that DFI, but be prepared to do your homework.