The jbpm scheduler does not support this out of thebox. changing duedates is the only option you have.
Most of the time, actions that have to be carried out at the end of a month are not specific for a processinstance, but more related to all processinstances of the same definition. Therefor it should be done outside engine, e.g. with Quartz
Just for info :
My action is launching multiple instances of another process configured by a xml file. So this action uses jBPM.
My action is in a task-node and repeated until the manager validate his task from the console (the transition goes to end-node).
It avoids intervention of an administrator for that (and to restart it too)... but maybe that's not really needed... I'll think about it.
Because of these two choices I tought it should be more convenient to use jBPM to repeat my actions. Finally I don't really know :)
simple repeat actions are possible... e.g. resend a reminder every x (working) days etc... but not things like send a reminder every last day of the month.... if this is a serious requirement, please file a jira issue for this.