The EA can't be held responsible-they are not the ones actually selling the apartment, they are merely the builder's agent, and acting on their instructions. They wouldn't necessarily have been aware of the builder's intentions at the time they accepted your booking deposit, and even if they were, you would have a hard time proving that was the case.
You will of course get your booking deposit back, I don't believe there is any way to force the agent to have their client complete the sale, nor do I believe that there is any way to get compensation from the agent.