The issue is actually that creating a new image in texture paint mode will set it always as a stencil image. Internally, the code checks if the painted image is the same as the stencil and if it is, no painting is done. Solution is to expose a boolena to the operator for setting the image as a stencil (could be an enum in th future for more uses) Stencil UI is a bit weird here, will definitely redesign.