I have read on this site about 2D collision with 2 balls and I understand taht, thanks to you. I had the same thoughts about the problem - calculating every collision differently, one after another. So I must have made mistake in my code or my algorithm, because it doesn't work as it should.

Let me analyze the situation mentioned before (2 sticked balls, and a third one hitting them in the middle, at the same time):
-I detect collision with one of the balls (let's say the upper one)
-I have to move the moving ball back not to overlap staying one
-I calculate velocities
-I move the time forward, putting these two balls in new positions
The effect is - Upper ball moved, moving ball bounced back, but there is no collision now with the last ball, and there won't be, as balls go further away from it. Whole my simulation doesn't work, because it gives wrong results. Where is the mistake? If it is not clear enough, I can upload pictures which will show what I mean.
Thank you for your reply, now I know I was on a good way!