I am able to avoid the crash by adding an extra condition to the if. However, I think this is not the right fix - I do not get the depleted uranium fuel cell which is obviously not intended.
if output and output.count > 0 or fuel.buffered_out > 0 then
print("cyr o.c="..output.count)
print("cyr f.bo="..fuel.buffered_out)
local insertable = math.min(output.count, fuel.buffered_out)
print("cyr ins="..insertable)
fuel.buffered_out = fuel.buffered_out - insertable
print("cyr wp="..waste_product)
print("cyr f.bo="..fuel.buffered_out)
output.inventory.insert{name=waste_product, count=insertable}