relatedTo working for one category group but not another
Your approach seems interesting but you should never do such "relations". They can be broken all over the way. Let me explain that.

Title vs Handle

Most objects in Craft have the attributes title and handle. The title is the name that can be rendered in the frontend. This should be your attribute to show users what the object is about. The handle is your "developing" attribute. This is a unique field, with several validation rules to make this field selectable via getEntryByHandle() thus you can link entries via handle, get them via handle and change the display name (title) however you like and can still select those via handle.

&lt;h1&gt;Other Events in {{ thisCategory.title }}&lt;/h1&gt;


Is totally correct, you show the title to the frontend

{% set category = craft.categories.slug(thisCategory.title) %}


Is absolutely wrong. The validation rules for title and the validation rules for the slug attribute are totally different and you should never match those fields. When you have a title like Foo Bar you'll never be able to match them since your slug would be foo-bar.

The correct way would be this

{% set category = entry.yourCategoryFieldHandle.first() %}
{% set entries = craft.entries.section('events').relatedTo(category).find() %}


If you really really want to relate objects not via the relation Field but via strings you should do it with the handle but never with titles or slugs