Se leres o código que pus, o que acontece é que em PHP5 as variáveis guardam referências aos objectos, não os objectos em si, portanto quando fazes $a = $b o que acontece é que $a fica com uma referência para o mesmo objecto que $b. Portanto, se alterares uma propriedade do objecto $a o objecto $b também é alterado, e vice-versa.