I ride 150's and love them.
To me it's all about how your legs are built too. The length of each section, etc.
On the out-stroke you don't want you leg to be over-extended, so for most a very slight bend in the knee is the best setup. Once you have that dialed in, then take a look at what you're knee angle is on the back-stroke.
If it is going past 90 degrees, then it is usually bad on the knees. (Plus there is now power on the out-stroke with you knee bent that far)
With my original 172.5mm cranks, my knees where at at 65 degrees on the back-stroke, and I had some mild pain, and also noticed it was harder to spin anything above 90rpm.
When I switched to 150mm, I had to obviously re-adjust my boom so my out-stoke was correct again, and them my back-stroke is really close to 90. Felt so much better.
A lot of people say they want the longest cranks they can get because longer is better leverage.
While that may be true in theory, I have found that I have not really noticed any loose of power going to the shorter cranks. I can spin faster, climb faster and I have no knee pain.
Actually most of my training and riding I am spinning at 100rpm or higher, and have even done some workout sets above 110rpm for extended periods.
It's a win-win-win for me.
I am actually going to experiment with 140's (and smaller this year) soon and see what kind of metrics I get when compared to the 150's I am riding now.
At really high rpm, the shorter cranks you have, the less your legs are having to go back and forth. That is a big deal when you are going around at 120-150rpm.