CCDictionary::valueForKey always returning NULL?

Hi,
I’m writing a really simple level loader that loads some values from a plist file. The issue is that the CCDictionary never seems to find anything when I look for a value (but I can see the keys in there in the debugger). Stumped as to why - the calls I’m using seem to be correct. Debugging has been tough to trace all the way through (issues with symbols loading in the IDE and I can’t find where CCLog drops any file to disk - does anyone know where this creates a log file at? - and it doesn’t show up in console, so I’m hitting a wall and hoping someone can help).

The code:
//this part seems to be working fine, I’ve got a level singleton
_levels = CCDictionary::createWithContentsOfFileThreadSafe("levels\\LevelSet1.plist"); _levels->retain();
//now is the part that starts failing - always returns null
CCDictionary* _chosenLevel = (CCDictionary*)_levels->objectForKey("Level1");
//I can replace the above call with
levels~~>randomObject; and it returns an object with that has the “Level1” key, but then the valueForKey statements below will still fail, always returning 0, when I try to get values from that dictionary
@
if
{
MaxNumFallingObjects = _chosenLevel~~>valueForKey(“MaxNumFallingObjects”)>intValue;
NewEnemyInterval = _chosenLevel
>valueForKey(“NewEnemyInterval”)->floatValue();
@

And the plist file looks like this:
`<?xml version="1.0" encoding="UTF-8"?>

Level1 MaxNumFallingObjects 30 NewEnemyInterval 0.5 MeteorHealth 1 MeteorAttack 1 NewMeteorProbability 0.6 GlubAlienHealth 5 GlubAlienAttack 5 NewGlubAlienProbability 0.4 BasicBulletSpeed 25 BasicBulletInterval 0.05 BasicBulletHealth 1 BasicBulletAttack 1 `