The problem here is not ln(0), neither the numerical engine. Logarithm works in the same way in both the SS versions.
The different behavior is due to a difference in the symbolic engine; in SS 0.97 0*anything=0 while in SS 0.98 0*anything depends on what is anything (in this case, undefined). Since hatch(...) is designed for continuous functions in the [u;v] domain (both the bounds included), your fix seems to me the most reasonable and consistent way to proceed.
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects