I've heard of one other behavior that may be causing this confusion over table
level locking.
It is my understanding that if the row you are selecting is actually a join
across multiple tables, and there is no index on the foreign key, there is some
table level locking.
Maybe Tom can clarify this.
Other than this, you get unlimited number of row level locks unless you
specifically request to lock the table.
Dan