Not always true, but mostly true.
the 99 323 had a 2.5 L I6 in it. They did that so it didn't look like it was too close to the 328 that DID have a 2.8L I6 in it.
I think that in 2001 the 325 replaced the 323 and does indeed have teh 2.5 while the 328 is gone and replaced with the 330.
Generally in BMW Speak the last 2 digits are the engine size, but not always.