Sketch seems to be skipping data

You are running into the problem that 0.1 cannot be exactly represented as a floating point number in binary. When you subtract 0.1 each time through the loop, you are not getting 24.3, but a very slightly smaller number like 24.299999. When printing a float to 1 decimal place, the number gets rounded and will appear as 24.3, but when converting from a float to an integer the decimal part gets truncated, resulting in (24.299999 * 10) being stored as 242 in the int, not 243.

Here is a modified version of your sketch that should give the proper digit breakdown, and avoids the multiple conversions between floats and integers:

float Volts;
int Tenths;
int Ones;
int Tens;
float PresentVolts;

void setup() {
  Serial.begin (9600);
  //Test Data
  Volts = 25.0;
}

void loop() {
  PresentVolts = Volts;
  
  //round and convert to integer
  int intVolts = (PresentVolts + 0.05) * 10;
  Tenths = intVolts % 10;
  Ones = (intVolts / 10) % 10;
  Tens = intVolts / 100;

  Serial.println (Volts, 1);
  Serial.println(Tens);
  Serial.println (Ones);
  Serial.println (Tenths);
  Serial.println ("  ");
  delay (250);
  Serial.println("  ");

  Volts = Volts - .1;
  if (Volts < 0) {
    Volts = 25;
  }
}