Если вкратце, то советую использовать jquery, если важна совместимость, или можно делать дополнительные обработки под ie, типа такой:
if (img.addEventListener) {
image.addEventListener('load', someFunc);
} else {
// для IE
img.attachEvent('onload', someFunc);
}
А на счет кэша,
вот здесь почитай. Там всё довольно просто, но сейчас времени нет расписывать. Может позже дополню