The use of ppp-watch in ifup-ppp overrides expected use of "ifup ppp?". Most annoyingly, it results in a persistent connection which most casual ppp users don't want. They either want manual control or on-demand. Additionally, ppp-watch is exec'd which results in ifup not returning and being listed as <defunct> in the process table until it is killed by a subsequent "ifdown ppp?". Would it not be better to only invoke ppp-watch if PERSIST=yes is present in ifcfg-ppp? and likewise make the same check in ifdown-ppp before killing ppp-watch? I also believe that ppp-watch should be started normally and followed by an exit to permit ifup to return as it does when used for other interfaces.
ppp-watch is intended to support a non-persistent connection that reconnects on errors; it isn't supposed to be regular 'persistent' connections. The version that shipped with 6.1 did have some bugs in it that could cause odd behavior; you should probably upgrade to the errata.