I have found the solution to this encase anyone else if having the same issue.
It appears to be a common fault with box2d not scaling to the retinar display. The resolution and sprites are managed by Cocos2d but box2d appears to get left behind working in standard 480x320 mode.
To scale box2d add this in your draw method.
glScalef(CC_CONTENT_SCALE_FACTOR(), CC_CONTENT_SCALE_FACTOR(), 1.0f);
This will scale box2d objects by 2 for HD and 1 by default.
You may find the physics act weird in the simulator but I found once I compiled to a device it works as expected.