Appending hexadecimal string for MD5 algorithm
In MD5, the addition performed on $B$ at each round is modulo $2^{32}$ (that is, only the 32 low-order bits of the result are kept); same for the additions involving $A$, $F$, $K$ and $M$ at each round, and the four additions on $A$, $B$, $C$ and $D$ at the end of the 64 rounds.

Therefore, $A$, $B$, $C$ and $D$ all remain within 32 bits. At the end of the hashing, the concatenation of their representation as 32 bits forms the final hash, which is thus exactly 128-bit.