The phenomenon that the beginning of the first consonant of the latter component of a compound word is often altered as k→g, s→z, t→d, and h→b (sometimes h→p) is called [rendaku](http://en.wikipedia.org/wiki/Rendaku) (連濁).  I explained it a little in [another answer](http://japanese.stackexchange.com/questions/816/what-is-the-difference-between-tori-vs-dori/835#835), but here is a more detailed explanation.

There are no firm rules to tell when it happens completely.  However, as the Wikipedia article explains, there are some general rules which almost always apply.  Below is some of these rules:

* If the latter component is a gairaigo, rendaku does not occur.  アイス + コーヒー = アイスコーヒー, not アイスゴーヒー.
* If the latter component already contains a voiced consonant, the word usually resists rendaku.  山 (やま; mountain) + 火事 (かじ; fire) = 山火事 (やまかじ; mountain fire), not やまがじ.
* If the compound word of A and B means “A and B” (as opposed to “B of A” and so on), the word usually resists rendaku.  山 (やま; mountain) + 川 (かわ; river, stream) becomes 山川 (やまがわ) when it means a stream in a mountain and 山川 (やまかわ) when it means mountains and rivers.
* If the latter component is already a compound word, the word usually resists rendaku.  紋 (もん; crest) + シロチョウ (literally “white butterfly”; meaning [pieridae](http://en.wikipedia.org/wiki/Pieridae)) = モンシロチョウ (literally “white butterfly with crest”; meaning [small white](http://en.wikipedia.org/wiki/Small_White)), not モンジロチョウ.

蕎麦 (そば; soba; buckwheat noodles) resists rendaku because of the second bullet.

I do not think that 恋心 (こいごころ) and 真心 (まごころ) is ever read as こいこころ or まこころ.

The only word 美空 (みそら) that I know is the stage name of the singer [美空ひばり](http://en.wikipedia.org/wiki/Hibari_Misora).  I do not know why it is not みぞら, but I will not be surprised if a name (especially an invented name) does not follow the regular pattern, and the “regular” pattern is not very regular after all.

用心 and 欲心 are not really compound words because 心 (しん) is not a word on its own.  I do not know if the fact that 用心 is read as ようじん instead of ようしん is also categorized as rendaku or not, and I do not know if there is any explanation when it happens.