im using cocos2dx + official spine runtime and I'm not getting the problems you mention.
Just incase it helps my resolution code is as follows...
#define DESIGN_RESOLUTION_512X384 0
#define DESIGN_RESOLUTION_1024X768 1
#define DESIGN_RESOLUTION_2048X1536 2
/* If you want to switch design resolution, change next line */
#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_512X384
static Resource smallResource = { cocos2d::Size(512, 384), "images-sd" };
static Resource mediumResource = { cocos2d::Size(1024, 768), "images-hd" };
static Resource largeResource = { cocos2d::Size(2048, 1536), "images-hdr" };
#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_512X384)
static cocos2d::Size designResolutionSize = cocos2d::Size(512, 384);
#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768)
static cocos2d::Size designResolutionSize = cocos2d::Size(1024, 768);
#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536)
static cocos2d::Size designResolutionSize = cocos2d::Size(2048, 1536);
#else
#error unknown target design resolution!
#endif
bool AppDelegate::applicationDidFinishLaunching()
{
Director* director = Director::getInstance();
EGLView* glView = EGLView::getInstance();
director->setOpenGLView(glView);
Size size = director->getWinSize();
glView->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::FIXED_HEIGHT);
Size frameSize = glView->getFrameSize();
vector<string> searchPath;
if (frameSize.height > mediumResource.size.height)
{
searchPath.push_back(largeResource.directory);
director->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width));
}
else if (frameSize.height > smallResource.size.height)
{
searchPath.push_back(mediumResource.directory);
director->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width));
}
else
{
searchPath.push_back(smallResource.directory);
director->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width));
}
FileUtils::getInstance()->setSearchPaths(searchPath);
..........
Skeleton...
CCSkeletonAnimation *lockAnim = CCSkeletonAnimation::createWithFile("spine/lock.json", "spine/lock.atlas");
lockAnim->setAnimation("swing", true);
lockAnim->setPosition(Point(100, 50));
Skeleton_setSkinByName(lockAnim->skeleton, "music");
Skeleton_setSlotsToSetupPose(lockAnim->skeleton);
lockAnim->update(0);
this->addChild(lockAnim);
Hope this may help diagnose any problems...