The following suggestions are not ideal, but I guess UIImageView should undergo improvements to become ideal in supporting animations. Anyways, here goes:
You can start a timer with the same interval as the animation length, and act on its expiry. (This solution is also suggested here: How to use isAnimating in an iPhone app)
You can create your animation with an NSTimer that changes the images by itself, completely abandoning UIImageView's animation. There's ready-made code for that here:
www.modejong.com/iPhone/ (under PNG Animation). This way you have total control over the animation - you can pause and resume it, call a delegate function on animation end, etc.
And for records sake, a similar question was asked here iPhone : Best way to detect the end of UIImageView image sequence animation, although possible solutions were not iterated.
GL,
Oded.
p.s. Anyone know why I can't post the link above as a simple link? I get a "Sorry, posts can't contain that content." message...