What I did was to compare the previous value with the updated values and if they needed to change I would. The flicker is very noticeable if you update characters that don't change. It's very strange since the off time is fairly short.
I also attempted to break up the values and only blank characters that changed but my limited skill at c caused a few issues and I gave up, I had some success but it seemed hit or miss at times.
When I get home I can dig it up if anyone wants to play with it, I did 4 char values with a movable decimal, which I think the decimal part broke it sometimes.
This is what I'm doing currently. Unfortunately I still have very noticeable flickering. Most likely because I'm using the _48 font.
Redrawing a single character good idea and I planned on implementing some version of this feature into my "label" object that I created last night. It shouldn't be hard to find the width's of previous characters and offset the drawing cursor. Unfortunately it still doesn't change the fact that we are blanking the area of the framebuffer entirely BEFORE the character is drawn. It seems like I'm going to have to dig through the font code and custom implement a new character drawing function.