Am I right in thinking that a bitcoin can only be used ONCE per block ?
Nope.
Both the parent and child transactions can be included in the same block. I'm using the term "child" to refer to one which uses an output of a "parent" transaction which also has not yet been included in any prior block.
If I remember correctly, the bitcoin.org client will arrange transactions in the block so that parent's transaction occurs first and child transaction(s) occur later in the block. I am unsure if a block that has the order reversed would have any problem getting accepted by other nodes if that isn't the case.