While I agree that 'grandad' is acceptable, 'Fowler' (i.e. 'A Dictionary of Modern English Usage' by H.W.Fowler, which is widely recognised as a standard reference work) cites the Oxford English Dictionary (which is also recognised as a standard reference work) in giving 'grand-dad' as the correct form.
At least we seem to be agreeing that 'granddad' (with no hyphen) is incorrect.
Well, Chris, my edition of The Oxford Oxford English Dictionary offers the two versions side by side, with no comment about either being more correct, as does Chambers. And my edition of Fowler's doesn't even mention 'grand-dad'!
I made a slight error above in that I read only the top half of the appropriate Fowler's entry. Further down, it does say (quote)...
"For some of the family terms a certain amount of latitude is permissible, eg grand-aunt, grand dad, grand uncle."
So, if anything, it is the two-word version - or, I imagine, the hyphenated version - that is, as it were, "an optional extra". Certainly, 'grandad' would appear to be Fowler's preferred usage.