It does work. If you move the window away, the revealed areas are filled with black as intended.
The problem is that installing the hook does not invoke it. You either need to call it manually or open and close a window which covers the entire screen.
Edit: this may be used to call the hook manually:
struct BackfillMsg tempbfm;
tempbfm.rect.MinX = 0;
tempbfm.rect.MinY = scr->BarHeight + 1;
tempbfm.rect.MaxX = scr->Width - 1;
tempbfm.rect.MaxY = scr->Height - 1;
CallHookPkt (&bfhook,&scr->RastPort,&tempbfm);