I am not too familiar with other methods, if there are any. But for your question "do each of the machines running the vb application need an Oracle Service Name?", the answer is yes.
Robbie
"The rule is, not to besiege walled cities if it can possibly be avoided" -- Art of War