Are 明白 and 懂 synonymous?
There are differences in meaning between 明白 and 懂, but they are somewhat subtle. Several Chinese-language websites record Chinese speakers asking the same question, so the difference is certainly not obvious. Nevertheless, the long and short of it is that, for practical purposes, they are interchangeable: people use 懂 and 明白 to mean "I understand" in many daily circumstances without considering any deeper implications of their meaning. When they do intend to draw distinctions between the words, as in the last example below, they will so explicitly.

This baidu question asks for the differences between 明白， 理解， 了解， 知道， and 懂. The consensus among the respondents is that 懂 represents a deeper level of understanding than 明白 does, even to the extent that 懂 can indicate a spiritual or essential understanding.

This soso question adds another perspective: 懂 does not need to involve communication. (Again, it can refer to deep, almost spiritual understanding. For example, you would hear songs like "不懂爱" but not "不明白爱") 明白 necessarily involves someone understanding something that someone else has communicated to them. I hadn't seen this rule formulated before, but it matches my experience of using and hearing these words.

This article is intriguingly entitled “越来越明白却越来越不懂” ["I '明白' more and more, but '懂' less and less"]. There's a sense in this article, as there is in the other sources above, that to 懂 something is to understand the principles behind it.

Finally, this English-language article on 懂, 明白, and 了解 dispenses with the first two words quite quickly. It supports my first point above that, in daily life, these two words are more or less interchangeable and don't imply any deep level of comprehension.