Is it bad practice to launch more than 100 sql statements at once?
It depends on how your queries are organised. Important is that you use transactions. The first step in the transaction would be the creation of the bill and the next step in the transaction would be the update of the billing status.
Both need to succeed or both need to fail. If the second step fails, the first step will also be rolled back.
If this is some kind of a batch process, try to work in sets instead of on single rows. If you can process the work in 1 or 2 calls it will be a lot faster than issuing 100 or 200 calls for the same amount f work. With a lot I really mean a lot. If the code is correct easily a magnitude of 100 faster.