Eric,
First, the important thing is that you do have a workaround, at least for now. I agree it is a "scary" bit of code, but you can replace it later when this is resolved.
Second, I'd love it if you could share the fragment. I'm going to have this problem in the very near future. I'll send you coordinates using the forum direct message - check above and to the right of the top forum menu.
Third, as I mentioned, I wasn't sure if the earlier posts covered your problem. Obviously they did not. So...
Forth, and most important. This needs to be reported to Sparx as a bug. While Sparx does participate actively here, we are in a user forum. You need to get this directly into the Sparx support 'hopper' so that it gets addressed now. Here's the best practice we (the forum community) have been using for feature requests and bug reports (in this case the latter). Read through it once (you'll see why) and then give it a whirl.
To reach the appropriate page, click the Report a Bug or Feature Request (as appropriate) link below the Support link at the bottom of any forum page. You'll get to a one-page form that walks you through the information Sparx will need.
When you make the request, include the title of the forum thread you've started (or participated in). Also paste in the URL of the thread. This let's Sparx participate in the discussion, gauge user support for new features, and suggest workarounds.
[See, I told you to read through first. Depending on settings, IE (for example) can 'forget' all the stuff you've entered so far when you back up a few pages to get the URL. To avoid this situation when using IE, try opening a new copy of your page (control-N) and backing up with that copy, so you don't get your work erased.]
If relevant (such as in your case here) attach a compressed project (or other file) to provide an example to Sparx, so they can see what's happening.
If and when you hear back from Sparx on this, please revisit the forum thread, and let us (the rest of the EA community) know what you learn. This will keep us in the loop.
All the best,
David