With reference to the sample code
pfd = pifacedigitalio.PiFaceDigital()
has the effect of resetting the pins to default values.
Maybe this is intentional or a bug? I don't know
Anyway, the workaround that I use is the following
pfd = pifacedigitalio.PiFaceDigital(init_board=False)
Note, that the board still needs to be initialised at least once after initial boot.