If I read you correctly, the real question is about unknown complexity. Initially I read your question as, "I see the extremely likely risk of excess complexity but the boss doesn't" But you're saying that the boss isn't a problem, so I take it you're not sure what the risks of adding unacceptable complexity are.
In that case, I'd recommend some sort of risk mitigating strategy. Image you're considering adding WCF/web services to your API, which could be awesome or a lot of complexity without reward:
- add the feature on a branch. If it works, merge it. If it turns into a rats nest, kill it.
- fire up a new one page project and do a proof of concept. If you can't do a proof of concept in a short time, then drop it. If the proof of concept works, make it bigger and integrate it with your
- scour the web for people griping about that feature or technology. Where there there is a lot of griping going on, a technology might be some real risks of excessive complexity. Java Beans and COM+ are probably, old, but good examples of features that really jacked up the complexity and may or may not have delivered on the benefits side of the equation