In a small fast paced agency
...waterfall doesn't work too well. Which you've experienced first hand. ;)
Agile is the way to go. Be it formal, or completely informal. The ultimate goal in either case is to get out of the 'step by step' mentality of wireframes -> visual design -> development.
The best way to get out of that is to make sure all 3 things are happening in parallel. Or, at the very least, all 3 parties need to be communicating from day one.
These 3 tasks can't be done in isolation as you end up with exactly what you've experienced.
I've ran into this problem in larger agencies, where I was acting as a Front End prototyper.
What would happen is that wireframes would get signed off before we'd see them. UI design would then happen before we'd see that. We'd then have to take the two and turn them into interactive prototypes which always led to us finding things on paper that simply don't make any sense in code/interaction.
The solution was simply that we were looped in a lot earlier.
creatives
You didn't ask about this, but did want to comment. I cringe at the term 'creatives' being applied to the visual designers only. A software solution isn't going to be succesful unless EVERYONE is creative. That includes the UX team. That includes the front end devs. That includes the back end coders. I always suggest that organizations not use the term 'creatives' to reference UI design solely as it only encourages a lop-sided way of thinking about creativity.