The diamond kernel is exactly the same as the normal groestl kernel, the only difference is how to generate the merkle root when submitting work to stratum. Try if it works on the getwork port on danbis pool, they probably forgot to handle this when using the diamond kernel.