I've run into the same issue in a similar environment (Exchange 2k3, Outlook 2000). I called RIM support and the explanation I got is that the BB keeps a 'master' db of contacts and that's what it uses to determine adds, deletes, etc. Because it's on the BB, it just thinks it should sync back to your personal contacts. Not the answer I was looking for, but understandable. Public Folders are hard just hard to work with. We've come up with 2 pseudo-solutions.
1) Turn off wireless sync for contacts.
This works for anyone who has a computer running Outlook, as they can sync any time they want. It doesn't work for anyone who only has a BB, but needs Public contacts. For these users, on a periodic basis, we delete all the Public contacts from their personal contacts and reload, which is real hassle.
2) Make sure all Public Folder contacts are assigned to a unique Category (Corp Contacts or Personal Contacts), then instruct users to filter by Personal Contacts category unless they need something from Public. Again, a hassle.
If only RIM & MS played nicely together... Public Folder contacts are very useful in large organizations. As far as Public Folder calendar items go, I don't have any experience in that area. We use them, but users don't sync.
Hope this helps a little & good luck.