The SketchUp Ruby API currently doesn't expose the Projected property of mapped materials. This means that SUbD cannot preserve the projected behaviour of materials as the mesh toggles back and forth between control-mesh and final-mesh. They will be transformed into regular positioned textures .
Related to the issue of Projected Textures is that when SUbD falls back to using positioned textures they will fail when the projected texture has been applied perpendicular to the face. In this case the material will be applied without any positioning and you will likely see visual artefacts.
Non-positioned textures are textures applied to a face without using the Position Texture Tool . You can see the effect of this if you move the face, the texture will not move along with the face. When the texture is positioned you will see that the texture is pinned to the face.
The SketchUp Ruby API doesn't expose any properties that let you determine if a texture is positioned or not. SUbD will always assume the texture is positioned. This can in some cases lead to the textures to shift when toggling subdivision. The workaround is to make sure all textures are positioned before subdividing.
Due to limitations of the SketchUp Ruby API the custom PushPull tool in SUbD will sometimes fail or crease extra unwanted faces. Alternative design for the tool is being looked into.