Do I need to be selective about where I search and replace when pointing a domain to a subfolder used for development?

In general you should always develop under the final URL the site is going to be located in, if you are going to put content or anything else which contains URLs ad part of the development.

Not sure what gave you the idea that you can just search replace things in the DB and it will just work. Data which is serialized via the PHP serialize function will most likely break when trying to search and replace on it, and while it is easy to know where such data is located on vanilla wordpress install, you are not likely to know such things about plugins and themes.

There are some plugins you can try to make the search and replace which at least will be able to handle the core structures, maybe they will be smart enough for other settings as well. This mainly depends on what kind of crazy things the plugin and theme you use do.

And to reiterate, code should be developed separate from the content in a way which is hosting agnostic. Content and settings should be set only on the production server, or staging server which is almost identical to the production.