Currently the d7 version of this module uses (almost) the same code as the d6 version for scanning the Drupal installation for default images.

This isn't really a problem at all right now since the directory structure in d6 and d7 is identical and PHP isn't going to suddenly drop support for accessing files directly on the web server any time soon..

However, doing things this way is deprecated in d7 in favour of stream wrappers. Using stream wrappers has two major advantages:

1. The code will be way more future proof when the core directory structure changes (like it already has in d8)
2. We can support remote streams. Ie. you could get your default image from an external url if you really wanted to and it would be cached locally in your files directory automatically by the core image module. that's pretty cool.

The main problem is that when stream wrappers were implemented in D7 there was nothing added in core to give access to files in profiles, modules or themes. Actually, nothing outside the public/private file uploads directories is accessible through core stream wrappers. This means that until the available stream wrappers are fleshed out to support read-only system directories (in d8???) developers will have to enable extra modules to achieve the desired functionality. Namely these two:

1. http://drupal.org/project/system_stream_wrapper - Access to profiles, modules, themes
2. http://drupal.org/project/remote_stream_wrapper - Access to external urls for images

This is really not a huge priority to me, but I'm aware that it should happen at some point so I'm leaving a ticket open for this. When it does get implemented I definitely won't make these modules dependencies, there'd just be some progressive enhancement of ICD's functionality.