I just exported this weird little crystal shape as an appearance and ran it in a torch lit area so I could make certain all 10 smoothing groups were utilized, and they were.
To test it out, just copy any non-pc creature appearance type and change its model name to md_testfaces. Unzip md_testfaces.7z to your override folder. Hop in game, debug mode 1, SetAppearance to your new appearance index. Stand up against any light emitter and spin in place and you can see easily all 10 smoothing groups are utilized.
https://www.dropbox....md_testfaces.7z
To determine if the limit is 16, or as I suspect, a full 32 ( I won't bother testing further than that ), here is an updated md_testfaces.mdl with 18 groups. Due to the height of the torches in my test module (not included), it becomes harder to tell if the newly extruded and manually smoothed faces are rendered separately, but with some positioning of the camera, it does become clear that the limit is somewhere above 16. There is no rounding of any edges on the shape and clear seam lines can be seen at certain camera angles and certain distances from the light source.
I'm going with full 32 smoothing groups, which would make use of an entire unsigned 32 bit integer worth of smoothing groups. Due to zero being code for no smoothing group, this actually may be capped at 31 specified groups, and 0 left open to not smooth.
https://www.dropbox...._testfaces18.7z
But the real interesting question is: what happens if you have 18 specified groups, and 20 polys (40 faces) without specified smoothing (exported as 0). What is the cap on the engine's groups? This freakish file shows just how interesting the NWN engine still can be. All 18 specified groups and 20 dynamically calculated polygons are rendered in separate groups, making at least 38 groups available at run time.
https://www.dropbox....aces18plus20.7z