I doubt that would make it have any impact. "no warnings ..." impacts lexical scope which is likely restricted to the call_pv() call. But even if call_pv() doesn't define (and destroy) a new lexical scope, I still doubt it would have any impact. "no warnings ..." works by tagging the Perl op-codes that are generated. XS code isn't running Perl op-codes, especially not ones compiled after the call to call_pv().
My main advice is to stop messing with Perl data structures in XS code. This is just one of the problems that result from such. The others tend to be worse.