There are two distinct concepts of Function Wrapping that exist...
Type 1 • Direct Wrapping., this is where you are taking a Function and essentially just declaring it in such a way that it is usable "As-Is" through your Interface.
So for example, it's actually quite easy to create an XInput Wrapper Library for DarkBASIC Professional, as it supports Pointers... and as all of the functionality is basically just a list of Stand-Alone Function., we can create a DBP (.dba) Header that contains the Types and Constants; and essentially just create the DLL that creates the Direct Calls to say XInput Functions.
Heck we can actually go a step further and simply call these from XInput1_4.dll ourselves from within DBP; but it's easier with a Plug-In Wrapper.
Of course that isn't exactly "User Friendly" for the programming skill level most in DBP have., hence why when I wrote one years ago... I made a much more bespoke interface that fit with the DBP Commands style.
Type 2 • Peer-to-Peer Wrapping., this is a little more difficult to explain... but what you're doing is taking an existing function call, and re-creating it in another interface to produce the same (or rather close approx.) results.
A good example of this would be Dark BASIC Pro 9Ex/11., which replaces all of the DBP Runtime Libraries; but retains the same commands.
•
Now beyond this... I'm not sure where the issue in AppGameKit Data Manipulation is for you., as personally my issue with AppGameKit has never been the ability to manipulate data but rather in the limited scope of Data Types.
That is to say that these are all Signed 32-bit (4 Bytes) Variables... and the data is always treated as such internally.
The thing is we can't change that, regardless of what Extension Plug-Ins we use.
It's just a limitation of the Scripting Engine and Runtime that AppGameKit is built upon., and frankly it's a very slow Scripting Engine at that.
Shifting Data Manipulation to a Plug-In could help with performance... but then in said case what would you actually be wrapping? I mean that's what somewhat confuses me here about your original question... what is it you THINK you're going to be wrapping in terms of Pure Basic API Functions? (which again are themselves almost direct wraps of commonly used interfaces like WinAPI, SDL, OpenAL, etc.)