What is fscanf returning when you try to read level[0][0] from the file?
Is fscanf actually writing the value 0 into level[0][0], or is the array initialized to zero and fscanf is writing nothing?
I wouldn't be surprised if fscanf is getting screwed up with what is normally referred to as 'whitespace' characters. I learned years ago to never use the scanf family of functions because they would fail and you never knew what was left in the input stream, or what the function decided to pull out or skip over.
With what you're trying to do I would just read the file into a buffer and use strtok/atoi to read the values.