As you may have seen from the introductory text, the whole text is written while learning XS. Given that, pointing out problems with it as "You have the florbleblitz problem" is not terribly useful. It would be far more useful if you could provide explanations of what the problem is, why it is a problem and ideally some hints on how to fix it. Or, of course, links to existing texts with such information. This goes extra much for anything to do with magic, since the documentation included with Perl on that subject explicitly says that it's obsolete and should not be used.
It would be far more useful if you could provide explanations of what the problem is, why it is a problem
Each problem came with code to demonstrates it.
and ideally some hints on how to fix it.
Magic: Use SvGETMAGIC(sv) before reading from an SV. Use SvSETMAGIC(sv) after writing to an SV.
Unicode bug: Just like numbers can be stored in a scalar in a number of ways, so can strings. Accessing a string's buffer without determining how data is stored in it is a bug. (This pretty much rules out using `char *` in XS function prototypes.) If you expect bytes, SvPVbyte will get them. If you expect text, SvPVutf8 will get it encoded using utf8.