Actually 'ClientAPI.GetSafeJSString' should indeed not be used anymore, as that has long been moved into the 'Localization' class: 'Localization.GetSafeJSString'

That method could be refactored to use the .NET 4 method to get a safe JS string though.

The reason to use LocalizeString is that that is a known good method to get any localized string. Modules should never create their own methods for accessing resource strings, as that will make it much harder to maintain this functionality