А если передавать функцию, которая уже вернет метатаблицу, вот пример 
Имеем 2 ресурса, главный main и побочный test из main экспортируем. 
  
-- main.lua 
addEventHandler("onResourceStart" , getRootElement(), 
    function() 
        local resource = getResourceFromName('test') 
        startResource(resource) 
    end 
) 
  
function func() 
    local Obj = { 
  
        getString = function() 
            local var = "Hello World" 
            return var 
        end, 
  
    } 
    return Obj 
end 
  
 
  
-- test.lua 
addEventHandler("onPlayerJoin" , getRootElement(), 
    function() 
        local Obj = exports.main:func() 
        local var = Obj.getString() 
        outputChatBox(var) 
    end 
) 
  
 
Данный пример у меня не работает(кто бы сомнивался, ведь ты так и сказал) но может я просто не правильно делаю, ведь по сути я просто функцию вызываю, которая передает метатаблицу. Если например вызвать функцию передающую строку, то все работает 
P.S. Поверхносный гугл показал, что я передаю вообще просто таблицу, их получается тоже нельзя передавать http://habrahabr.ru/post/228001/ 
P.P.S. Попробывал передать просто таблицу, все получилось. В ней значением ключа была не функция, строка. Какой то сыр бор в голове))