I can't speak for the MySQL people, but in my view your "workaround" is the correct way of implementing this. It is not the database's job to keep track of which user wants to keep what session open, and HTTP is stateless by design. Keeping transactions open for relatively long periods of time would be a major load on the database, as it needs to keep track of all the different changesets and consistent views. I'd rather have my database be good at handling data :-)
I can see your need, but that's what middleware is for. -- Bier met grenadyn Is als mosterd by den wyn Sy die't drinkt, is eene kwezel Hy die't drinkt, is ras een ezel