Maybe it doesn't exactly match the spec any longer? Maybe a different test data set revealed another problem? Maybe you lost more points because they're now also checking style and grading it?
Dunno without seeing code. But why doesn't it score 100%???
If your output does not match the staff implementation's output exactly then it will not be correct. Your program will be graded automatically by another computer program so it must follow the pset requirements to the character. As mentioned above, it must pass all checks in check50 in order to get the highest grade (1.0)