I due caratteri in fondo sono due null bytes. Semplicemente tripledes fara' un paddig con N nullbytes se il testo non e' un multiplo di 8, dove N e' il numero di caratteri mancanti per raggiungere questo multiplo.

Nel tuo caso $stuff="String to enc/enc/dec/dec =,=,"; ha 30 caratteri, di conseguenza ti aggiunge 2 null in fondo, perche' 32/8=4.
Se credi che non dovrai mai criptare stringhe che contengano null come ultimo carattere, puoi semplicemente fare un $decrypted = rtrim(decrypt($encrypted, $key));
Altrimenti fai un substr con la lunghezza del testo iniziale.

Ps: mi fa ridere il coglione su php net che ha postato l'esempio che hai utilizzato, con vari testi, e che considera i null bytes come "some encryption at the end of the decrypted sting"

Pps: dovresti usare mcrypt_generic/mdecrypt_generic al posto di mcrypt_cbc.