I had kppp running my firewall, and it didn't have (much) of a problem with it.

The problem I found with the "execute on connect" setting, was sometimes if would fire off the "command" before I actually "connected" - i.e. sometimes kppp would fire off the "on connect" command during say... modem handshaking, at which point, it really isn't connected to a server at the other end yet, and then sometimes, it would delay a few seconds, and my "command" would be fired off after kppp actually completed connecting...

What I would suggest... place a "sleep 5 ; [and your command]" in front of your command - that will delay the "actual" command you want - which you place right after the "sleep" part... You may want to adjust the time to your needs, the 5 will place the complete "command" into a delay of 5 seconds, before the command continues to what you want. Take note that their is spaces between the "sleep" and "5" and between "5" and the ; [semicolor] - not sure if this has to be this way, or not, but, you can try it without the spaces, and see if it works.

I have this same "sleep" thingy in my START XScreenSaver imediately - since, when you might click on the icon, you might move your mouse a few "mickeys" and cause the screensaver to falsely think to not run.

Hope this might help you out on your issue,
Cuddles