Let LCD4bit library was written by someone who had little knowledge of how to deal with the LCD controller. This will become apparent if you just scan through the comments, you do not need any technical knowledge of any kind to figure this out. All the various derivatives of the program that I have see so far merely change the pin numbers used by the Arduino, something you can do when you invoke the LiquidCrystal library with the LiquidCrystal lcd() constructor.
As far as the DFRobot shield is concerned we dealt with this, in this forum, within the past week or so. Your shield should work with the Arduino LiquidCrystal library if you use:
//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
EDIT: Here's the info on the backlight issue: http://arduino.cc/forum/index.php/topic,96747.msg725978.html#msg725978