Hello,
Thanks for contacting me through the support, otherwise I could have missed this topic.
The names of events in your account statements differ from the names in the market name because they are made of different API requests.
I see you've been in contact with the API team, so the following technical details will be appropriate.
The call for statement, getAccountStatement, returns an array of items with numerous parameters. Two of those parameters are called "fullMarketName" and "marketName". If put together, these properties provide the full path to the event where your bet was settled.
Now, the information on a market is returned by an interface called "listMarketCatalogue". Within this interface there are the following parameters that can describe the name of the event:
marketName - this is the last bit of the name, e.g. "Match Odds" or "6f Hcap".
competition - The competition the market is contained within. Usually only applies to Football competitions.
name - The name of the event, e.g. "Sharapova v Williams".
Apart from these fields, there is nowhere to derive the rest of the market name from. It would come handy if BetFair provided the full path to a market, like they did in the previous API, but in the new API the corresponding field is missing.