I'm not attached to the exact approach I described above, @mwcraig, but I'm concerned about the ``"[:, 100:110]"`` approach for two reasons: 
1. I'm pretty sure the IRAF version of this is one-indexed, *not* zero-indexed, as python is.  So people will certainly try to use it like IRAF when they should be assuming python, or vice vera, and this is certain to lead to massive confusion/headaches. (I dealt with a similar indexing problem just a few weeks ago, so it's fresh in my mind!)
2. We really don't want to encourage the use of older idioms when one already exists in python.  There are certainly situations where a user will want to pass in something that they used somewhere else on a numpy array, and we want that to work.

So here's an intermediate solution: accept both.  That is, have the docstrings encourage the use of slice objects, and *specifically* address the zero-vs-one index problem.  But have them accept the slice strings and interpret them in the IRAF fashion to be compatible with FITS keywords that use that convention.

How does that sound?  Also, @mwcraig, when you say "I ended up", do you just mean you implemented this directly in `ccdproc`? Do you want some code review of that at some point?