Мдя, хитрая штука, и хитро написано:
However, when the DS18B20-PAR is performing temperature conversions or copying data from the
scratchpad memory to EEPROM, the operating current can be as high as 1.5 mA
The 1-Wire bus must be switched to the strong pullup
within 10 μs (max) after a Convert T [44h] or Copy Scratchpad [48h] command is issued, and the bus
must be held high by the pullup for the duration of the conversion (tconv) or data transfer (twr = 10 ms).
No other activity can take place on the 1-Wire bus while the pullup is enabled.сам в английском не силен, но смысл такой, что при конвертировании температуры и записи значений в ЕЕПРОМ ток может превысить 1.5мА (а может и не превысить

, походу они сами не знают) и вот тогда паразитного питания, которое берет датчик из шины данных не хватит и необходимо будет городить огород с подтяжкой на ключе и включать ее (подтяжку) на максимум 10мксек после подачи команды конвертации (я так понимаю, команды на запуск процесса измерения) и копирования. Т.е. во время исполнения этих комманд шина должна быть подтянута к питаню. И вот тут не совсем понятно почему они ограничивают время подтяжки 10 микросекундами, если самая быстрая команда из этих 2х выполняется аж 10 миллисекунд (twr = 10 ms).
Короче надо пробовать без ничего, если толку не будет, то тогда уже или датчик менять или ставить ключ на свободный порт и дописывать прошивку.
Судя по тому, что с ним показывает 99 градусов а не 1-WIRE ERROR, то тут как раз ситуация с нехваткой тока. Как вариант можно попробовать подтягивающий резистор уменьшить (не сильно, чтоб не спалить датчик, думаю до 3 кОм). Можно попробовать им добиться баланса между устойчивой работой датчика и необходимыи фантомным питанием. Но это так сказать соломинка, далеко не факт что это поможет.