• By granting the "VIEW DEFINITION" permission on the source table

    Are you sure that had anything to do with anything?

    , and adding the user to the dbReader/dbWriter database role on the target table everything is working fine.

    That will get the job done but it defeats the purpose of using stored procedures since your Users can now directly access the Audit tables, which I would think would also defeat the purpose of having the Audit tables.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato