INI_ParseFile returns false if you end the parsing by returning false in the newsection function. I'm guessing that's the intended behavior but it should return true if it's able to find and parse a part of the file.
This can be tested by adding the following at the top of the "ReadCSDM_NewSection" in the test file:
PHP Code:
if(equal(section, "secondary"))
return false;
It will print "Fatal parse error", even after it parsed a part of the file.