I suggest you test with something like this:
sflowtool -t | tcpdump -r -
to make sure that the PCAP feed from sflowtool is OK.
If that doesn't shed any light, then I suggest you compile sflowtool from the latest github sources, then compare this code:
with whatever Snort is doing to read the pcap header.
Neil