Yes .. SingleThreadModel is deprecated because there is nothing useful that we achieve from it.
If servlet A is implementing SingleThreadModel, then only one thread can be there for that servlet, at a time. But does this guarantee a thread safe application? What if Servlet B's thread modifies an attribute which servlet A is accessing.
Thats why this interface is useless and is deprecated too. It gives a wrong notion to programmers that implementing this interface guarantees thread-safeness. And HFSJ calls a person a poor servlet programmer if one uses SingleThreadModel.