Mm...
So Here's how I'm doing it:
*Objects are sorted from furthest to nearest (not sprites-but objects. I mean, I have an array with 5k elements witch keeps objects position)
*One by one, I add this objects.
1) if object IS NOT on the bound:
`[sprite_sheet addChild: texture]
teksturka.vertexZ = z_pos;`
2) if object is onthe bound (so it's in two rooms at one time)
`[self addChild: texture]
teksturka.vertexZ = z_pos;`
*At the end I add SpriteSheets
[self addChild: sprite_sheet];
Is it OK?
Well, I see that objects are rendered now in correct order (at least - it seems so), but there're some bugs with sprites that are NOT added to spritesheet but directly to scene.

These palms and monument are added to scene directly ([self addChild:texture] )
Can you see theses black pixels on the boundary?
On this screen you can see exactly witch pixels are turned into black.

Edit:
This problem appears only if the object is only above background.
So it looks like these sprites were rendered before background.
But I'm completely sure that first I add background and them other sprites :/
Edit2:
Solved, I had to add spritesheet to scene earlier.
[self addChild: sprite_sheet];
I'll take a look at game now and search for other problems :P