Tag Value (Change Event)

Yes. And if it's writing back to itself, you don't need to include a tag path, just use the tagPath included in the event like this:

if currentValue.value < 0:
	system.tag.write(tagPath, 0)

if not initialChange makes sense for most things, but it you never want this value to be zero there's no reason to exclude initialChange.