Is there a difference between the long a and the short o in Latin pronunciation? In the book, Latin: An Intensive Course, father is used for the long a and often is used for the short o. It seems to me that the two sounds are the same. Is there a difference?

Yes, there is quite a difference. The old books follow the pronunciation of outdated American English, so in that aspect they are not as accurate anymore; in British English there is a difference. Simply, the long A is like fAther and the short O is similar to the vowel in bOre or rOll. These are not exactly how they sounded but if you are just interested in getting the gist of it, then that is a pretty good (and usually the standard) way of pronouncing Latin.

Both, actually. We can probably never know exactly how Latin was pronounced.

We can, however, know quite a few things with great certainty. A long vowel is really the same sound as a short vowel, but you hold the sound longer in your mouth. The result is that you have a subtle difference in vowel pronunciation duration (which is pretty hard to distinguish for most of us) and a slightly different sound as well. And if you care to know about consonants, those are somewhat different from how they describe them as well. I haven't even studied into this very far, but there are still a lot of things I know of in which the textbooks don't tell you the exact truth for the sake of simplicity.