Are my MongoDB servers right in setting?
At first you should move to a 3 node replica set to ensure High Availability. At your case i would suggest to add an arbiter to your set, and give higher priority to the server A to ensure that will be the Primary.

1) Probably your question is about atomicity rather than consistency (correct me if i am wrong) the most safe choice is command findAndModify but you need to be careful because on high concurrency you may get delays.

2) Calling fsync in your code after every operation is a bad idea because you may get stale periods. fsync just flush the pending operations to disk, it doesn't ensure atomicity of an operation.