Like I said using the setExpression() instead of setValue() should do it.
Try this:
Code:
crop = nuke.createNode('Crop', inpanel=False)
crop['box'].setValue(0, 0)
crop['box'].setValue(0, 1)
crop['box'].setValue(100, 2)
crop['box'].setValue(100, 3)
crop['reformat'].setValue(True)
primatte = nuke.createNode('Primatte', inpanel=True)
primatte['crop'].setExpression(crop.name()+".box.x", 0)
primatte['crop'].setExpression(crop.name()+".box.y", 1)
primatte['crop'].setExpression(crop.name()+".box.r", 2)
primatte['crop'].setExpression(crop.name()+".box.t", 3)