As I look deeper into the DrawText boundary behaviour it becomes clear to me that the Microsoft version must actually keep the & symbols in the string until the very last moment. In particular it looks to me like they actually measure strings that contain them. I can't see how they can do that with GetTextExtent and its relatives; I can't see where to hide a flag as to whether to interpret the & or not.
Does anyone know if there are Microsoft undocumented functions or undocumented ways to measure and output a text that includes & symbols with a way of specifying whether they count as prefix characters or not?
Personally it seems silly to me and I don't intend doing so myself unless there is a good reason to duplicate all of Microsoft's weird bugs.
Bill