perhaps you are satisfied, but i am still interested in this topic as i have to teach it soon.
i believe if you think abut it you will notice that the key to writing a matrix as a product of elementary ones, is diagonalizing it by elementary operations.
if the diagonl version is the dientity, then the matrix it self is the product of the elementary matrices corresponding to the elementary operations.
the key to diagonalizing a matrix, is the proces of replacing an element by the gcd of that element and another element in the matrix. thus to diagonalize a matrix roughly this way, one needs to be able to write the gcd of two elements as a linear combination of the two elements.
this is only possible in a p.i.d. But the ooperations called elementary are more restrictive than this. if you think about it, you will notice that the elmentary matrix operations only allow one to replace an element by a unit times itself, plus any multiple of another element.
this is no restriction for fields since all non zero elements are units, but for rings it is a restriction. however in a euclidean domain such as Z, the gcd of a,b, can be obtained by the euclidean algorithm as a combination of elements of form a + by, rather than ax+by.
This makes it possible always to diagonalize any matrix, not just an invertible one, by elementary row and column ooperations over any p.i.d. perhaps this is what marsden was thinking of.
But the diagonal version will not be the identity in case the matrix is not invertible, so one cannot get the original matrix as a product of elementary ones, rather one gets the original matrix as a product of elementary matrices times a diagonal matrix.
does that help?