I think you are on the right track.
A) This must be に because 止まっている here indicates a state where something exists, just like ある, not an action. If に were replaced with で, 止まっている would have to be understood as indicating a progressive action. Although that interpretation is not impossible, it is hard to imagine a scene where as many as twenty cars are in the process of coming to a halt more or less at the same time in front of a building.
ビルの前に車が二十台くらい止まっている。
B) You could use に here, but you would sound a bit like pinpointing exactly where the car should be stopped (and “exist” thereafter) as if the driver already knew the car should be stopped to begin with. The original sentence with で places greater emphasis on the action of stopping the car, and therefore, may sound more natural as an instruction for the driver of a moving car.
あの角を右へ曲がって、銀行の前で止めてください。
あの角を右へ曲がって、銀行の前に止めてください。
C) You can use に here. Although the same nuance exists as in B, it seems subtler possibly because the car is already stopped.
新しい自動車が銀行の前で止まった。
新しい自動車が銀行の前に止まった。
D) This に goes with 出る, not 止めた. It indicates a directional movement. The sentence with で would mean she stopped performing some action of “going out” in front of other people, which makes little sense.
事故の後、彼女は人前に出るのを止めた。
E) The original sentence with に places emphasis on where the car ended up parked (or “existing”). Replacing に with で is supposed to shift the emphasis to the action of stopping the car. However, the resulting sentence still seems to emphasize where he took that action. This is because 建物の前で is inserted between the verb (止めた) and its object (車を), breaking the natural word order and making the inserted portion somewhat stand out.
彼は車をその建物の前に止めた。
彼は車をその建物の前で止めた。
The following sentence would sound more natural, or neutral, if the emphasis is intended to be on the action itself.
彼はその建物の前で車を止めた。