Update, I've sort of fixed it. I changed the initialization routine to explicitly default the fullList variable instead of relying on the built in Default table to do it.... but I'd still appreciate any insight into why that didn't work.
Code:
function PlayerInfoLogger:Initialize()
--Define Saved Variables
self.savedVariables=ZO_SavedVars:NewAccountWide("PlayerInfoLoggerSavedVariables", 2, nil, {PlayerInfoLogger.Default})
--If there's a saved value, use that.
PlayerInfoLogger.fullList=self.savedVariables.fullList
if(PlayerInfoLogger.fullList==nil) then
PlayerInfoLogger.fullList={}
end
end