I can't duplicate it on IE8, even if it emulates IE7, as the graph
doesn't show up for me at all.
But, on each refresh, one thing you could do is to remove the current
canvas tag and create a new tag completely, each time.
You are right, not a simple application to read through. You may want
to simply it down, draw two overlapping rectangles, and see if you can
get it to work on IE and Firefox, and gradually make it more
complicated. If you have two scripts, where one works and the other
doesn't, then it may be simpler to help you.
Good luck.