users see all replies to a message sent by admin [Privatemsg module]
This is by module design and works as expected.

If you add multiple recipients to a message, Privatemsg treats it as a "conference" discussion and notifies everyone in the group when someone replies.

If you want to keep the conversation only between you and a particular user, you must send it only to that particular user.



What you need to do is to hook into the submit function of the form and instead of generating messages for all recipients at once, loop through them and do that for each separately.

You should not modify source code, as that might make it work incosistently and will create maintenance problems for you later on.

What I suggest is to create a custom module, add your submit callback for privatemsg_new() form and process the messages separately. Check out privatemsg_new_submit() function in the source. Also make sure the default privatemsg submit handler does not get executed - just unset it form the $form['actions']['submit']['#submit'] array.