Been deep in this exact problem across a few client builds. Here's the honest picture.
On the fromMe echo question - yes, it works on the Cloud API, but the BSP layer adds complexity. You need to subscribe at the WABA level, not just the app level, and the subscription has to target the messages webhook field specifically with the right permissions scoped. If you're setting it up through your BSP account, make sure the webhook subscription propagates down to each tenant's WABA correctly - that's where it usually breaks silently.
The other thing that trips people up is that fromMe echo only works for messages sent through the API itself. If the agent replies from the WhatsApp Business app on their phone, that's a different channel - Meta does not echo those back. This is a known limitation, not a config issue you can fix.
so your real options are:
Force agents to reply through your CRM interface, which calls the Cloud API to send. This gives you full echo and conversation sync, but requires agents to change behaviour.
Use Evolution API for the agent side only. The ban risk in India for normal 1-on-1 sales conversations at reasonable volume is actually fairly low in practice - bans mostly hit bulk broadcast use cases. But you're right that it's unofficial, and mixing official inbound with unofficial outbound is architecturally messy.
The cleanest production setup I've seen for this exact use case is option one - CRM as the reply interface, with a really fast and clean agent UI so switching from the WhatsApp app doesn't feel like a downgrade. Harder to sell to agents, but architecturally solid.
What volume are agents doing per day, and are they open to replying through the CRM, or is phone-native a hard requirement?