I think there is something wrong in your configuration.
First of all you have to enable NAT-traversal and on "CUSTOMER-GW" you have to allow NAT-T like Maarten suggests.
This is important, without NAT-T you can't get the tunnel working for both directions.
If "Solution-GW" is defined with dynamic IP-address, you don't need any NAT for management and VPN on "CUSTOMER-GW".
All connections are initiated from the "Solution-GW".
If you forward any ESP/IKE/IPSEC-packet on "CUSTOMER-GW" you get the shown error.
Maybee this will help:
0. enable NAT-traversal on "Solution-GW" and "DC-GW"
1. define "Solution-GW" with dynamic address
2. don't define any NAT on "CUSTOMER-GW" with destination "Solution-GW" or if some other needed define only for special ports, not with any, not with IPSEC, not with NAT-T or other VPN related ports
2.1. you can do hide NAT on "CUSTOMER-GW" for "Solution-GW" , but don't do any static-NAT
3. create a rule accepting NAT-T on "CUSTOMER-GW"
4. define VPN-community with only "DC-GW" and "Solution-GW"
5. create a rule allowing the needed VPN traffic
6. To get the tunnel up a host behind "Solution-GW" has to initiate the tunnel first, if this does not occur you can't communicate from datacenter to branch
With dynamic address the "Solution-GW" fetches too his policy from management.