Ну вот и ответ. Изменение же считает. Нет изменения - вот и ноль. А в тесте у вас предыдущее значение не задано, поэтому при текущем 37 даёт 37.
Если не ошибаюсь, этот oid отдает инкрементное значение, то есть если убрать препроцессинг будет постоянно нарастающее число, что несколько не то, что хотят видеть люди при анализе ошибок на порту
Да, спасибо, пока писал вопрос, догадался про ответ)