Just to give some ideas.
I decided yesterday to finally put together an automated BPA. Whenever we run too many projects at once in a BPA it seems to error out so scheduling it didn't seem to work. I figured i'd attach the BPA process to when we change the earliest apply date and its form. We change it once a month so I just have a script to grab any projects within the last 32 days of the earliest apply date(my way of doing a dynamic date since it seems Epicor didn't put one in). Then it populates the ProjectList on the ProjAnalParam parameters with my projects as "Project-1~Project-2~Project-3 ect.." from the last 32 days using a BAQ and an Ultragrid that fills a table with any dates that fall into that criteria.
I also went and put in a checkbox (or you could use a message prompt) on the earliest apply date form that needs to be checked when BPA will run so that if we do have to change the date on a whim it isn't running it every time.
I've been wanting to automate this for a while but wasn't quite sure on how.
Now I don't have to worry about myself or someone else having to take care of this or falling behind on running it.
I'm running 701 but it should work on most versions. No SDK required..
Good luck!