Dial plan problem? Configuration problem? HELP!

There are perhaps three separate issues here:

First, FreePBX doesn’t have a coherent system for dealing with phone numbers. It has sophisticated rules for rewriting outbound destination numbers (in both Outbound Routes and Trunks), crude tools such as the from-pstn-e164-us context for rewriting inbound caller ID and destination numbers, but nothing at all for rewriting outbound caller ID. You can fix your present issue with a hook that prepends +1 to CALLERID(num) on calls to the Twilio trunk:

However, I didn’t mention this in my previous post, because it wouldn’t help if the original caller was e.g. a customer whose number would not have been verified with Twilio. I know little about Twilio and they might be willing to send numbers that are not yours if you sign a suitable agreement, or perhaps with some technical change that allows them to track your calls properly (FreePBX already adds a Diversion header, but it may not be in the format Twilio wants).

Finally, what is your application? If it is acceptable to send your main company number on all calls, force the Trunk CID and call it a day. If you need to send customer numbers on Follow Me, you will either have to work this out with Twilio or use another provider, at least for forwarded calls. However, if you want a hybrid solution, sending the original number when verified but a fixed number otherwise, that requires custom dial plan to implement.