The job I have is still using CS5.5, so they don't stay anywhere near the cutting edge, and I only have CS3 at home from when I got it in 2008 to do some freelance. That said, as I remember the conventional wisdom of backsaving, you would export as IDML from CC, open that in CS6, export as IDML from CS6, open that in CS5.5, export as IDML from CS5.5, open that in CS4, export as IDML (or was it INX in that version) from CS4, open that in CS3. You might be able to open an IDML in versions more than one earlier, but I'm not positive on that.
The real deal is what happens if you use features that were not present in the earlier version? You might get something you can fix, but it might take longer than if you just went back to your CS3 file and redid the work you did in the CC stage. I can't tell you which would be better, because it depends.
There is also the issue of the text engine. People find that when opening older files in newer versions, the text can look unchanged until you make a tiny edit, and then it all changes. That's because the text engine composes the text on the fly as you work, and new rules will change what was done in the old rules. Since I'm not an advocate of backsaving, I don't have much experience with this, but I imagine it would probably work similarly when opening newer files in old versions after the trips through IDML.
You already said you should have know better, so I won't Itoldyouso, but keep looking for other opinions and make what seems the best choice for your situation.
In theory, you can open .idml from all version s in CS4, then export that back to .inx for CS3, but without CS4 in the loop there is no way to go back to CS3, and the file may have only a remote resemblance to the original after going through so many transitions. If you have access to CS4 you can save the .inx from your .idml, but you might want to simply consider this a lesson learned and redo the work from the original (presuming you still have the unedited CS3 version).