Well, I tried hardcoding animation data into the OBJ file using a memblock, however that doesn't work since ADD MEMBLOCK TO OBJECT only does it for an "extra data" feature and doesn't necessarily allow you to add subblocks to the object.
Here was the code:
Rem Project: Dark Basic Pro Project
Rem Created: Thursday, September 29, 2011
Rem ***** Main Source File *****
SET DISPLAY MODE 640, 480, 32
SYNC ON : SYNC RATE 30
AUTOCAM OFF
POSITION CAMERA 0, 0, -5
POINT CAMERA 0, 0, 0
LOAD OBJECT "D:\myobj.dbo", 1
// Code in animation information
mbcount = 0
MAKE MEMBLOCK 1, 152 // Make memblock
WRITE MEMBLOCK DWORD 1, mbcount, 2 : mbcount = mbcount + 4 // Animation Set code
WRITE MEMBLOCK DWORD 1, mbcount, 144 : mbcount = mbcount + 4
WRITE MEMBLOCK DWORD 1, mbcount, 201 : mbcount = mbcount + 4 // Animation name subcode
WRITE MEMBLOCK DWORD 1, mbcount, 12 : mbcount = mbcount + 4 // count of subblock
WRITE MEMBLOCK DWORD 1, mbcount, 8: mbcount = mbcount + 4 // length of string
WRITE MEMBLOCK BYTE 1, mbcount, asc("m") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("y") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("a") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("n") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("i") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("m") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("0") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("1") : mbcount = mbcount + 1
WRITE MEMBLOCK DWORD 1, mbcount, 202 : mbcount = mbcount + 4 // Animation length subframe code
WRITE MEMBLOCK DWORD 1, mbcount, 1 : mbcount = mbcount + 4 // Sizeof animation length subframe
WRITE MEMBLOCK DWORD 1, mbcount, 120 : mbcount = mbcount + 4 // Frame count
WRITE MEMBLOCK DWORD 1, mbcount, 203 : mbcount = mbcount + 4 // Animation Data subframe code
WRITE MEMBLOCK DWORD 1, mbcount, 104 : mbcount = mbcount + 4 // Sizeof anim data
// TODO: Continue with subblocks of animation data
WRITE MEMBLOCK DWORD 1, mbcount, 211 : mbcount = mbcount + 4 // Animation name subblock
WRITE MEMBLOCK DWORD 1, mbcount, 12 : mbcount = mbcount + 4 // Sizeof animation name subblock
WRITE MEMBLOCK DWORD 1, mbcount, 8 : mbcount = mbcount + 4 // Length of animation name
WRITE MEMBLOCK BYTE 1, mbcount, asc("a") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("n") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("i") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("m") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("a") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("t") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("e") : mbcount = mbcount + 1
WRITE MEMBLOCK BYTE 1, mbcount, asc("1") : mbcount = mbcount + 1
WRITE MEMBLOCK DWORD 1, mbcount, 212 : mbcount = mbcount + 4 // Num position keys code
WRITE MEMBLOCK DWORD 1, mbcount, 4 : mbcount = mbcount + 4 //Sizeof num position keys
WRITE MEMBLOCK DWORD 1, mbcount, 1 : mbcount = mbcount + 4 // Number of position keys
WRITE MEMBLOCK DWORD 1, mbcount, 213 : mbcount = mbcount + 4 // Position data code
WRITE MEMBLOCK DWORD 1, mbcount, 28 : mbcount = mbcount + 4 // Position data subblock size
WRITE MEMBLOCK DWORD 1, mbcount, 50 : mbcount = mbcount + 4 // Time in milliseconds that transformation occurs
WRITE MEMBLOCK FLOAT 1, mbcount, 0.0 : mbcount = mbcount + 4 // X Postion
WRITE MEMBLOCK FLOAT 1, mbcount, 0.0 : mbcount = mbcount + 4 // Y Postion
WRITE MEMBLOCK FLOAT 1, mbcount, 5.0 : mbcount = mbcount + 4 // Z Postion
WRITE MEMBLOCK FLOAT 1, mbcount, 0.0 : mbcount = mbcount + 4 // X interpolation
WRITE MEMBLOCK FLOAT 1, mbcount, 0.0 : mbcount = mbcount + 4 // Y interpolation
WRITE MEMBLOCK FLOAT 1, mbcount, 0.2 : mbcount = mbcount + 4 // Z interpolation
WRITE MEMBLOCK DWORD 1, mbcount, 214 : mbcount = mbcount + 4 // Num rotation keys code
WRITE MEMBLOCK DWORD 1, mbcount, 4 : mbcount = mbcount + 4 //Sizeof num rotation keys
WRITE MEMBLOCK DWORD 1, mbcount, 0 : mbcount = mbcount + 4 // Number of rotation keys
WRITE MEMBLOCK DWORD 1, mbcount, 216 : mbcount = mbcount + 4 // Num scale keys code
WRITE MEMBLOCK DWORD 1, mbcount, 4 : mbcount = mbcount + 4 //Sizeof num scale keys
WRITE MEMBLOCK DWORD 1, mbcount, 0 : mbcount = mbcount + 4 // Number of scale keys
WRITE MEMBLOCK DWORD 1, mbcount, 218 : mbcount = mbcount + 4 // Num matrix keys code
WRITE MEMBLOCK DWORD 1, mbcount, 4 : mbcount = mbcount + 4 //Sizeof num matrix keys
WRITE MEMBLOCK DWORD 1, mbcount, 0 : mbcount = mbcount + 4 // Number of matrix keys
WRITE MEMBLOCK DWORD 1, mbcount, 0 : mbcount = mbcount + 4
WRITE MEMBLOCK DWORD 1, mbcount, 0 : mbcount = mbcount + 4
// Here goes nothing...
ADD MEMBLOCK TO OBJECT 1, 1
DO
TEXT 0, 0, "TOTAL OBJECT FRAMES = "+Str$(TOTAL OBJECT FRAMES(1))
SYNC
LOOP
So now the next thing I'll do is load up each frame as an individual limb and then hide/show limbs per each frame and see how well that works.