There appears that the c program can output errors in the 10th digit:
C:>head --bytes=10000 pi-hex.1000000.txt | tail --bytes=50
F169B5F18A8C73EE0B5E57368F6C7AF4BB7A595926AAB49EC6
These match http://www.numberworld.org/digits/Pi/, in the row labled "10_000", so I know it's a reasonable file
C:>pi-in-hex.exe -s 9950 -n 50
F169B5F18A8C73EE0B5E57368F6C79F4BB7A595926AAB49EC6
these match your text file, or the numberworld site, so I know your algorithm is reasonably implemented
C:>pi-in-hex.exe -s 9990 -n 50
26AAB49EC68AC8FCFB8016CBDB8BBC1F476982C71185C7DA7A
the first ten digits of -s 9990 line up with the last 10 in -s 9950, so that's good
But if I run a bunch, incrementing start by 1 each time:
C:>pi-in-hex.exe -s 9991 -n 20
C:>pi-in-hex.exe -s 9992 -n 20
C:>pi-in-hex.exe -s 9993 -n 20
C:>pi-in-hex.exe -s 9994 -n 20
C:>pi-in-hex.exe -s 9995 -n 20
C:>pi-in-hex.exe -s 9996 -n 20
C:>pi-in-hex.exe -s 9997 -n 20
C:>pi-in-hex.exe -s 9998 -n 20
C:>pi-in-hex.exe -s 9999 -n 20
C:>pi-in-hex.exe -s 10000 -n 20
And then line up the digits
26AAB49EC68AC8FCFB80
.6AAB49EC68AC8FCFB801
..AAB49EC68AC8FCFB8016
...AB49EC68AC8FCFB8016C
....B49EC68AC8FCFB8016CB
.....49EC68AC8FCFB8016CBD
......9EC68AC8FCFB8016CBDB
.......EC68AC8FCFB8016CBDB8
........C68AC8FCFB8016CBDB8B
.........68AC8FCFB7016CBDB8BB
..................^........... ERROR at -s 9999 in the 10th hex digit
..........8AC8FCFB8016CBDB8BBC
C:>head --bytes=10020 pi-hex.1000000.txt | tail --bytes=30
26AAB49EC68AC8FCFB8016CBDB8BBC
Since most are 8 in that digit, I believe the 8, not the 7.
I am new to spigot algorithms (I found your program when my attempt at a BPP digit extractor didn't work), but from what I can tell, the digit extraction does not guarantee all the digits from the fraction you generate; just the first few... I think doing step sizes of 10 might be pushing the accuracy too much.