Amend flamsteed serialisation to ensure event uniqueness.

Why this? When would flush be called with an empty buffer?