Conceptual question regarding variables...

findrew:
The variable analogIn0 is assigned the value of analogRead(A0) only once, but thereafter each time it is used it has a different value.

No it isn't, you are in a "while" loop:

void loop(void) {  // picture loop
...

  do {

    analogIn0=analogRead(A0); 

    displayValueStr =  String(analogIn0, DEC);

 ...

  }
  while( u8g.nextPage() );
  delay(500);
}

Also the "loop" function gets called repeatedly.