I didn't use 3dgs for years but what does your
printf("%d", v);
say?
Don't you have the variable "v" as a string to the panel string instead of writing it as char into the string? I guess it just interpret it as the char "v" which won't work and deliver 0?
I dunno how you can combine strings now in 3dgs but it's probably supposed to be something like this:
PANEL *mypanel = pan_create( "bmap=mybullet; flags=VISIBLE | OVERLAY; pos_y = 130; pos_x = " + v + ";", 11);