After reading various examples of CNNs it doesn't look like the kernel used for convolution is flipped. Can anybody explain why?
Sometimes yes, sometimes no. E.g., if you look at http://deeplearning.net/software/theano/library/tensor/nnet/conv.html, you'll see some methods that flip the kernel, and some that do not. But to be mathematically correct, it should flip (the downside being it might make it less intuitive).
Another source echoing it: http://www.slideshare.net/GauravMittal68/convolutional-neural-networks-cnn
"Deep learning" is not the best field for rigorous definitions.
Supplementing a bit:
Sometimes they do read/store the memory in reverse order.
I do not know why they chose the "convolution" terminology, although it is clearly a cross-corellation.
However it does not seem to matter whether you flip it or not, because the values are tuned through the training process. That being said, intuitively the arrangement of the weights will get flipped and the final weights will come out to be the same.