I don't know why an access violation exception would be thrown, but in general the most likely reason for this would be that it isn't actually a javascript object that is getting passed in.
Why are you doing a convert_cast inside the function? Just rewrite the function to:
void PluginAPI::Test(const FB::JSObjectPtr& jsObject)
{
// use it here
}