It seems that using [+] rather than [*+] works fine.
SMARTS parser consider the charge as a atom expression.
according to that  *+  means anyatom single bounded with a positive charge atom.
and [+] or + means atom with positive charge.
Hi, I'm trying to use the SMARTS parser to identify some groups, one
of them being a positive group represented by [*+]

However for the molecule N1CCCC1OC(C)=O, every atom matches the
pattern [*+]
But in both the cases above result is really a bug.
Actually i have never tested the code using the smiles my procedure was reading the molecule
from a mol file and then set the property that need to be set.
But the processing of molecule in both the cases are different i think.
Also the explicit and implicit count of hydrogen is a problem if we use the smiles.
these are some of the known issue to me.

Sushil Ronghe