This has had me stumped for 2 days now so time to ask the gurus for help

I am working on a project and have a routine for displaying text by loading in the individual letters as sprites and breaking the string down into individual characters and drawing the sprite for the letter, setting the xpos to the width of the char plus current print pos so its ready to print the next char. The widths are in a look up table as I figured it would be quicker than getting sprite size on the fly each time.
FUNCTION stringprint: string$,stringxpos,stringypos,center = TRUE
LOCAL numchars, ctr, charypos, nextchar$,strlen=0
numchars = LEN(string$)
IF center
stringypos=stringypos + 11 // I moved the graphics on the screen by 11 pixels and this was easier than reentering all the ypos values on each draw command
FOR ctr = 0 TO numchars-1
strlen = strlen + char_width[ASC(string$,ctr)]
NEXT
stringxpos = stringxpos - (strlen/2)
ENDIF
FOR ctr = 0 TO numchars-1
DRAWSPRITE 500+ASC(string$,ctr),stringxpos,stringypos
stringxpos=stringxpos+char_width[ASC(string$,ctr)]
NEXT
ENDFUNCTION
On my dev computer it displays fine as per the first screen shot. On the computer it needs to be deployed on it is missing the text totally. I did also try Peejays/morus text drawing routine (but as its a commercial project I dont want to use it for production as its their code) and this does exactly the same.
I have tried removing some of the graphics to keep the overheads down but that doesn't change anything so I am stumped.
The graphics card in the deployment PC is an Intel 82845G/GL/GE/PE/GV which I know does not do everything in the 3d department but I'm not doing anything fancy. All other sprites display correctly and everything else works apart from this one aspect.
Anyone else have any ideas as to what I could try? I'm on the verge of going back to a standard font and using the PRINT routine

Its not a difference between full screen and windowed as the issues stay regardless of the settings
Thanks
Gary
[attachment deleted by admin]