After much work on this with the Xepient Support Team I have come up with a solution to localize code behind messages and gridview headers utilizing the Open-Smart Module. In order to do this you need to access the LocalResourceFile property in Open-Smart Module. To do so just add a public property to your class like this:
Public Property LocalResourceFile() As String
Get
Return TryCast(Me.Parent.Parent, DotNetNuke.Entities.Modules.PortalModuleBase).LocalResourceFile
End Get
Set(ByVal Value As String)
TryCast(Me.Parent.Parent, DotNetNuke.Entities.Modules.PortalModuleBase).LocalResourceFile = Value
End Set
End Property
Then access it like this to change the code behind message:
lblMessage.Text = Localization.GetString("SelectAnswerForAllQuestions", Me.LocalResourceFile)
To localize the gridview headers call this method as the first line of the page load (make sure your HeaderText is the same as the entry in the resource file)
DotNetNuke.Services.Localization.Localization.LocalizeGridView(gvEquipList, Me.LocalResourceFile)
Hope this helps others as is has me!