Not Sure wrote:
The sea is big.
Your interpretation of the rules is correct. If the adjacent sea zone (or friendly port) is empty, it's a valid retreat target.
One way to prevent this is to leave a ship behind to cut off retreats, you're not obligated to intercept with the whole stack.
Absolutely correct! This happened once to me where I had a reduced Turk fleet "trapped" in the Adriatic. I moved all of my force in to fight, won the battle and then he retreated back out to Ioninan (?). That's a lesson, I won't forget.