As for the frames, you just need to match the frames up with the ones you listed:
0-39 are for the flag on a player standing
40-45 for the flag on a player running
etc.
Just went through the right flag model (was always testing with the one in pball/models/items/flags before and didn't realize it's not the right one), the animation frames apparently are a bit different:
"stand": [0, 39, 9], # STAND
"run": [40, 45, 10], # RUN
"attack": [46, 53, 10], # ATTACK
"pain1": [54, 57, 7], # PAIN_A
"pain2": [58, 61, 7], # PAIN_B
"pain3": [62, 65, 7], # PAIN_C
"jump": [66, 71, 7], # JUMP
"flip": [72, 83, 7], # FLIP
"salute": [84, 94, 7], # SALUTE
"taunt": [95, 111, 10], # FALLBACK
"wave": [112, 122, 7], # WAVE
"point": [123, 134, 6], # POINT
"crstnd": [135, 153, 10], # CROUCH_STAND
"crwalk": [154, 159, 7], # CROUCH_WALK
"crattak": [160, 168, 10], # CROUCH_ATTACK
"crpain": [169, 172, 7], # CROUCH_PAIN
"idle": [173, 188, 5], # CROUCH_DEATH
-> some were renamed and over all there are less keyframes than originally