In episode two of Stardust Crusaders, Kakyoin paints red paint on a horribly drawn painting of Jotaro, specifically, on his leg. Jotaro gets a cut on his leg somehow. But Kakyoin never does it again. Why didn't he use it in more battles?
Because he never had such an ability.
The painting was just a prop. As soon as Kakyoin stroke the canvas, he had Hierophant cut Jotaro. While this is not stated, it's heavily implied because as soon as he painted Jotaro, he threw the painting into a tree, signifying its unimportance, instead of using it again when he confronted Jotaro.
I'm pretty sure he never used it again because during the High Priestess arc, they were underwater and I'm sure Kakyoin would not have brought a canvas while they were on a submarine, but even if he did, they were underwater the whole time, making it pretty much impossible for him to paint under it.
And before you say "Oh, he could have injured Midler and make her revoke her stand", he didn't know what she looked like, and he needs to know what his victims look like before he paints them.