example: 1 satoshi - 1.3% fee = .987 satoshis
>>> print int(.987)
0
>>> print int(round(.987))
1
However, even using arbitrary precision, these libraries don't necessary give you the correct answer anywhere near the magnitude of the float precision defined.
>>> getcontext().prec = 6
>>> Decimal (.00000001) * Decimal (.987)
Decimal('9.87000E-9')
>>>getcontext().prec = 2000
>>> Decimal (.00000001) * Decimal (.987)[/b]
Decimal('9.87000000000000009104248083235174268563047313600349515597682205532708579013502123676582211686536 538763903081417083740234375E-9')
It's close enough though - you'd get an extra 9 satoshi if your transaction was 10 billion BTC.
Assuming the total BTC in circulation limit was increased this could ever actually happen yes.