Hi
I've just one idea for that: you could check the sent and received bytes for changes during a special time and if there are no changes, the dial up has to be idle.
I've downloaded a project which shows the sent and received bytes. You can try to get it there...