Is my understanding of CPA indistinguishability experiment correct?
There are a surprisingly large number of subtly different definitions of CPA indistinguishability.  What you describe in points 1 through 5 is one that I have heard of, though at the end of your post you make it 'iterative', in the sense that $\mathcal{A}$ can play the game over and over with $\mathcal{E}$ using the same secret key but fresh, independently-random values for $b$ for each game.  I have not heard of the IND game being set up iteratively like that -- usually $\mathcal{A}$ only gets one bite at the apple in terms of guessing $b$. Are you sure you meant to define it that way?

You also don't really define what it means for $\mathcal{A}$ to "continue to have access to the oracle" in point 4.  Do you mean $\mathcal{A}$ can make more chosen plaintext queries before it has to guess $b$?  If so, do they have to be of the form $(m_0, m_1)$ where only the encryption of $m_b$ is returned to it, or can they be individual messages?  

Granting $\mathcal{A}$ up to $q_e$ queries of the form $(m_0, m_1)$ (i.e. so that every query is a 'challenge') before it has to make its guess for the value of $b$ is the more common Left Or Right (LOR) notion of IND-CPA.  BDJR'97 defines LOR IND-CPA (as well as several other notions of CPA security):
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.4734