I took a look at the code, and it appears that there is a bug in pair_buck_coul_long.cpp in the table option. The values change with number of processors. As Rolf suggested, if you use pair_modify table 0, the code runs as expected. Maybe Paul can take a look.
The values are sensitive to the cutoff because they include both the LJ and Coulombic interactions. If you use separate cutoffs for LJ and Coulombic and keep the LJ cutoff constant but vary the Coulombic cutoff, then the results should be almost the same. For example, you can use: pair_style buck/coul/long 8.9 3.0 or pair_style buck/coul/long 8.9 7.0 and you should get about the same answer with Ewald/disp.
The buck/coul/long pair style just uses a cutoff for the dispersion interactions. If you used the buck/long/coul/long style then you should be able to use a single cutoff and get values that are nearly independent of cutoff with Ewald/disp.
As was mentioned by others, you can now use PPPM with triclinic systems. If you want to use long-range dispersion interactions with triclinic, you will still need to use Ewald/disp.