You can try enclosing all your coordinates with floor(). Your code uses integer values and doesn’t seem to require it but as something to try.
Also, you show the code to position the sprites but not the code to position the parent node. Try to enclose the parent node position with floor() and see if something changes. Is the parent node the Scene or a cocos2d::Node?
Try doing this to the parent node:
// node is the parent of the line sprites
cocos2d::Vec2 position = node->getPosition();
node->setPosition(floor(position.x), floor(position.y));
You can only do this if your design resolution is not set to something weird like 320x240 and you don’t need to place things at 1/2 or 1/4 of a pixel (in design units).
I only can think in an interpolation artifact. The resolution of the game may be the same as your test phone but maybe the presence of the action bar at the top and the system buttons makes cocos to have to interpolate.
If you take a screenshot, with the correct key combination for that particular phone, and analyze it in an image editor you can find out the metrics of the action bar and system buttons bar. I don’t know if there are functions to get the metrics from C++ code. This is useful only to identify the problem, it’s not a solution. Use that specific screen resolution is not an option (it will break for some other phone sooner or later).