I already answered this on the CodeProject forums couple of times (1, 2), but I'll repeat it here so it would be easy to find this topic.
This issue is not specific to SharpPcap but rather a Winpcap issue (I beleive it's a Winpcap bug but couldn't find any info about it).
The issue is that if you use winpcap in a multithreaded application, and you try do FindAllDevices() or even PcapOpen() on a dialup device from a new thread, winpcap will fail by specifying that it doesn't find this device.
To workaround the issue you can call GetAllDevices() and PcapOpen() from the main thread and use the new thread to use the already opened device. If you see similar issue even on a single threaded application, adding a [STAThread] attribute on your Main function will probably fix the issue.