Tag all routes with routemaps (and re-tag them when redistributing them in)
Do not allow routes with the tag of your IGP to come back.
I would also suggest distance ospf external 180 just in case...
That's all
You've been practicing your redistribution scenarios but you are not able to procure enough routers to make a big network. Instead, you only have (4) routers but want to make a scenario that is as complex as possible ...
TASKS
c3640-jk9o3s-mz.124-16.bin

Tag all routes with routemaps (and re-tag them when redistributing them in)
Do not allow routes with the tag of your IGP to come back.
I would also suggest distance ospf external 180 just in case...
That's all
Nope. There is more to it than that. Your solution will prevent loops but does not completely solve the task.
You have to pay very close to metrics to avoid suboptimal routing. In one case, you MUST make a manual AD change for a single route as well. It's tougher than you think!
Here is topology file and initial confs for those who interested.
http://wikisend.com/download/899642/Expert_Redistribution2(initial_confs).zip
(TTL-90days)