There are only vanilla game limitations for most recipes (i didn't implement any limits). Steel smelting admittingly has a little sloppy way to convert decimal number to 0.1 accuracy for display purpose. But if you had CompressedSteelSmeltCost = 0.0001 then:
CompressedSteelSmeltCost = math.floor(CompressedSteelSmeltCost x 10)/10.0
= math.floor(0.0001 x 10)/10.0
= 0.0? ... It might give it a higher minimum limit from the base game.
Recipe values are what they are before affected by speed modules, assembler speed etc which further multiply it.