Savepnpc was originally designed to allow you to run commands before and after backups. A good example of this is if you had to shutdown a database before backing it up cold, then restaring after backups were completed.
When savepnpc is invoked, it creates a temporary lock file in the backup client's nsr\tmp directory to prevent the same savegroup (and therefore the same pre and post savepnpc commands) from running more than once at any given time.
However people, such as you I believe, have used it to backup up a client with saveset=all. What happens in this case is that savefs determines how many savesets are to be backed up for a client (such as c:\, d:\, system state:, system files:, system db

, and then invoves a savepnpc for each saveset. The savepnpc pre and post commands are invoked for *each* saveset as a result.
For the first saveset processed, the lock file will be created. However, for the subsequent savesets, the lock file will exist, thus generating the error message. Then it will not continue backing up the particular saveset.
You can verify this by changing the saveset from All to just c:\ (for testing), then see if the problem reoccurs.
Before running the backup test, go to the backup client, stop NetWorker with: net stop nsrexecd, delete the nsr\tmp directory, then restart NetWorker with: net start nsrexecd. Once this is done, then try the backup test.
Legato does have patches that resolves this problem. Call them if you are interesed, or look at NetWorker 6.1.3's release notes to see if the patch is in that release.
NetWorker 6.1.3 is probably the best version of the V6.1.x series, so I would upgrade to this version anyway. Remember to upgrade the bacup server and storage nodes before upgrading the backup clients.
Good luck, and happy holidays.