Hey Kalileo drye,
I was having the same trouble with subnested urls but wrote this fix;
public function getForumThread() {
if(preg_match('/(?!(show)(\/).*)([0-9].*)(?!(?).*)/', $_SERVER['REQUEST_URI'], $id))
return DataObject::get_by_id("ForumThread", $id[0]);
else
return false;
}
Im sure there's probably a cleaner way of doing it using SS functions -but it seems to work ok as a fix for 2.4