Doesn't look like you could have done anything else than what you did.
Appears your flight 2051 arrived 1 hr 12 minutes late at 9:32pm from CHS at gate A23A, and the connecting flght to AVP left 25 minutes late at 9:25pm from gate C85X. So you would have had to take the shuttle bus between A and C and that would have taken at least 15-20 minutes depending on where the bus was at your arrival time. Bus does not run as frequently that late.
I am a believer that CO should hold the last flight of day for connecting passengers - but likely not more than 1/2 hour. In this case the flight to AVP left 25 minutes late. For you to have made it - they would have likely needed to hold the flight another 25 minutes past 9:25pm which is not reasonable to the other passengers.
I am guessing that your flight out CHS was delayed due to ATC and then they likely blamed it on weather. You were arriving at a prime time on Wed, and there is always a risk that RJ's will be held for delay.
Bottom line, you had risky connection for that time of the day for EWR - but you took the chance and it did not work out. Next time it could, but you never know. Sounds like you could not leave earlier in the day - so the risk was justified.
You might consider taking US through Charlotte, NC - it would not be as risky as EWR, and you do now get OnePass miles on US.