Just tossing out a random idea: does the temporary upload directory PHP uses somehow not have the correct permissions or access, or was it moved someplace else?