I've always thought that they both mean something like "I see" or "Is that so?" and I was told that they have different meaning. Is that so?
There is a difference between the two and it is the kind of difference that could easily be lost in translation.
You say 「そうなんだ」 when you basically have no doubt about what you have just heard from the other person. You have learned something new and you are chiming in with him.
「そうかな」 is different in that you have an amount of doubt about what you have just heard. You may have a different opinion regarding the matter.
This is why using a translation like "Is that so?" in understanding the two Japanese phrases in question might not help greatly because it could be used in both situations, could it not?
I think that そうかな corresponds (loosely) to "Oh, really?" or "Is that so?" or "Oh, you think so?", and そうなんだ to "I see" (as you might expect: the former is a question, the latter a statement, both in Japanese and in English).
な is a variant of ね, here in particular with the feel of asking yourself a rhetorical question. I wouldn't go as far as saying that you are doubting the statement, but you wouldn't be surprised, if it were false.
Note. In Japanese, そうかな (and そうですか) may also be used in a context, where in English you'd simply say "I don't think so".
P.S. そうなの? is a way of saying "Is that so?", which preserves the ambiguity of whether you might be doubting the statement or just accepting it "as is".