What about:
(eval-after-load "flyspell"
'(define-key flyspell-mode-map (kbd "C-.") nil))
Your first solution is almost correct, but you have to remember that the current local map is set up by the major mode, not minor modes. The best option you have it to directly access flyspell-mode-map
and modify it (another option would be to find it in minor-mode-map-alist
but I think it would be needlessly complicated).
Also, I prefer putting such mode-specific settings within eval-after-load
(which means they will be evaluated once) rather than in a hook (in which case the settings are evaluated multiple times: each time one buffer activates flyspell-mode
). But this is a matter of preference and either way is fine.