uintで済むものにわざわざlongを使うメリットが思い浮かばん
ループの添え字にushortじゃなくintってのなら分かるがな

unsignedが廃止されるなんてどこにも根拠がないし
強いて言うとJavaに移植しやすいくらいか

デメリットはあるが
1. メモリが無駄(特に配列)
2. 遅くなる(少なくともIA32では)

64bitに移行すれば後者はushortと同じく相殺されるが
メモリが無駄なのは相変わらず