The reason it probably didn't work before was because the brick4xCubeData datablock wasn't created yet, so it had no parent to base off of.
That, or it doesn't take brickFile from the parent datablock (though, I believe it does).
So, if you make bricks be sure to include brickFile, else this could happen again.