This works for me (in 10.8 and earlier versions of OS X):
defaults write -g NSTextInsertionPointBlinkPeriod -float 999999999999
It doesn't take effect until you quit and reopen applications, and it doesn't apply to text views in web views, iWork applications, Mail, Notes, TextMate, or BBEdit. The value is in milliseconds.
Edit: changing NSTextInsertionPointBlinkPeriod stopped working in 10.9, but there are now new preference keys that have the same effect:
defaults write -g NSTextInsertionPointBlinkPeriodOff -float 0
defaults write -g NSTextInsertionPointBlinkPeriodOn -float 999999999999
They only apply to the same views as NSTextInsertionPointBlinkPeriod though.