Let's start from the end of your question. As for a rule of thumb which will help you to memorize the cases where you should pronounce
о (phonology purists, don't judge me too harshly — you know what I mean), strictly speaking, there is no such rule.
One could say... wait, actually there is such a rule, since
o is pronounced like
а only in unstressed positions. But this is quite delusive, since that actually means that you have to memorize stress patterns. And actually, there are some patterns, but I strongly recommend you memorize each word you need to learn separately. The thing is that such patterns are by no means rules and don't cover all the possibilities. There's the classic triple зо́лото/боло́то/молоко́.
But if I were pressed for a rule, I guess I'd tell then not to bother stressing prefixes (so, сопричастность, соучастие — all of these are pronounced with
a; foreigners will be forgiven for mispronouncing words like помо́щь or памащь); always pronounce
о in monosyllabic words (there's just no other place you can put the stress).
As for errors in pronunciation, well, saying
а instead of
о where it's actually supposed to be pronounced as
o, is a very glaring mistake which can make your speech unintelligible. No one says
ан instead of
o instead of
a is also quite a big deal. But pronouncing
о without reduction will be 100% understandable to any native speaker.
Yes, as @Quassnoi already mentioned, you'll definitely sound outdated and theatrical, but as far as I'm concerned, this is a common mistake every novice language learners make: trying to pronounce everything like a native speaker — well, you won't. It takes years to acquire a decent, native-like pronunciation. But if your vocabulary is rich and your grammar is irreproachable, many phonetic mistakes will be overlooked. Moreover, the number of such mistakes will surprisingly decrease over time.