I'm using a "Balloon Note" so yes, this is my preferred way to make balloons.
My BOMs are also constructed rather than repeat regions.
It really is much simpler in the long run when every client needs something slightly different.
However, if items in an assembly are assigned item numbers through the repeat region BOM process, a simple symbol balloon should be able to pick up that attribute when you attach it to the part or subassembly member. This also solves the issue when you have to use the same item number in several places so the quantities can be "split".