Cronómetro con 2 botones [inicio + restablecimiento]

Hasta acá esta versión usa millis() solamente.
Compila, falta el POSITIVE en la inicialización del LCD pero como no has puesto de donde has extraído la librería cuesta adivinar.
Cada 100 mseg o sea cada decima presenta un valor si es que puede hacerlo.

//#include <Arduino.h>

#include <LiquidCrystal_I2C.h>//Libreria para LCD I2C
#include <Wire.h>//libreria requrida para usar SDA y SCL
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3);

// Variables para los cálculos internos del cronómetro
int horas         = 0;
int minutos       = 0;
int segundos      = 0;
int decimas       = 0;
long milisegundos = 0;
unsigned long time_start, time_pausa, nexttime;
int start, stop, pausa, startAnt = LOW, stopAnt = LOW, pausaAnt = LOW;

const byte pulsador_inicio = 10; // pulsador_inicio en PIN digital 10
const byte pulsador_pausa  =  9; // pulsador_pausa en PIN digital 9

void millis2time() {
  unsigned long runMillis  = millis();
  unsigned long todosLosSegundos = millis()/1000;
  horas     = todosLosSegundos/3600;
  int segundosRestantes = todosLosSegundos%3600;
  minutos   = segundosRestantes/60;
  segundos  = segundosRestantes%60;
  decimas   = (runMillis/100 - todosLosSegundos*10); 
}

void presentacionLCD() {
      // Mostramos el tiempo a través del LCD      
    lcd.setCursor(1, 0);
    lcd.print("------------------");
    lcd.setCursor(1, 3);
    lcd.print("---------------r--");
    lcd.setCursor(4, 1);
    lcd.print("tiempo");
    lcd.setCursor(4,2);
    millis2time();
    char buffer[20];
    sprintf(buffer, "tiempo %02d:%02d:%02d.%d", horas, minutos, segundos, decimas);
    lcd.print(buffer);
}



void setup() {
  Serial.begin(9600); // Comienzo de la comunicación serie
  pinMode(pulsador_inicio, INPUT); // Pin digital 10 como entrada  
  pinMode(pulsador_pausa, INPUT); // Pin digital 9 como entrada
  lcd.begin(20, 4);//Inicializar la LCD 20x4
  lcd.backlight();//Encender la luz de fondo
}

void loop()  {

  // Si presionamos el pulsador de inicio se pone todo a cero
  start = digitalRead(pulsador_inicio);
  if (start && !startAnt)  {
      time_start = millis();
      nexttime = time_start+100;
  }
  startAnt = start;

  // Si presionamos el pulsador de pausa se congela el tiempo hasta que lo volvamos a presionar
  pausa = digitalRead(pulsador_pausa);
  if (pausa && !pausaAnt)  {
      time_pausa = millis();
  }
  pausaAnt = pausa;

  // stop = digitalRead(pulsador_stop);
  // if (stop && !stopAnt)  {
  //     time_stop = millis();
  // }
  // stopAnt = stop; 
  if (millis() >= nexttime) {
      presentacionLCD();
      nexttime += 100;
  }
}