Genau daran dürfte es liegen. Es gibt zwei verschiedene Anschaltungen des Display an den PCF.
Code:
//--The-following-definitions-are-corresponding-to-the-PIN-Assignment-(see-above)------------------------------------

/** \defgroup PIN_ASSIGNMENT PIN ASSIGNMENT
 This pin assignment shows how the display is connected to the PCF8574.
*/
/*@{*/
#define LCD_D4_PIN			0	/**< LCD-Pin DB4 is connected to P3 on the PCF8574 */
#define LCD_D5_PIN			1	/**< LCD-Pin DB5 is connected to P2 on the PCF8574 */
#define LCD_D6_PIN			2	/**< LCD-Pin DB6 is connected to P1 on the PCF8574 */
#define LCD_D7_PIN			3	/**< LCD-Pin DB7 is connected to P0 on the PCF8574 */
#define LCD_RS_PIN			4	/**< LCD-Pin  RS is connected to P7 on the PCF8574 */
#define LCD_RW_PIN			5	/**< LCD-Pin  RW is connected to P6 on the PCF8574 */
#define LCD_EMPTY_PIN		6	/**< this pin    is not connected */
#define LCD_E_PIN			7	/**< LCD-Pin   E is connected to P5 on the PCF8574 */
/*@}*/
Du musst in deiner i2dlcd.h die Belegung so einstellen und auch so verdrahten, dann funktioniert es. Warum das so ist kann ich dir nicht sagen. Ich habe eine Menge probiert, komme aber nicht darauf. Bin gespannt ob es bei dir auch so ist.