It works fine with negative Y values. Thats not the problem.
The problem is that you have created a concave shape...or at least... 2 of your points make the shape concave in places (index 2 and index 10). this creates problems in the collision detection as it needs a convex shape due to the way the collision works. Alternatively you can use multiple convex shapes to make up a concave one.
If you use the following points it will work fine...
SetSpriteShapePolygon(orc_mouthSpr, 12, 0, 0, -105)
SetSpriteShapePolygon(orc_mouthSpr, 12, 1, 27, -92)
SetSpriteShapePolygon(orc_mouthSpr, 12, 2, 63, -21)
SetSpriteShapePolygon(orc_mouthSpr, 12, 3, 81, 17)
SetSpriteShapePolygon(orc_mouthSpr, 12, 4, 79, 38)
SetSpriteShapePolygon(orc_mouthSpr, 12, 5, 45, 77)
SetSpriteShapePolygon(orc_mouthSpr, 12, 6, 0, 93)
SetSpriteShapePolygon(orc_mouthSpr, 12, 7, -41, 77)
SetSpriteShapePolygon(orc_mouthSpr, 12, 8, -75, 38)
SetSpriteShapePolygon(orc_mouthSpr, 12, 9, -77, 17)
SetSpriteShapePolygon(orc_mouthSpr, 12, 10, -60, -21)
SetSpriteShapePolygon(orc_mouthSpr, 12, 11, -23, -92)
Ive edited index 2 and index 10 to allow the shape to be convex so it works