Just replying to leave an answer behind.
1. Thanks for the response and attached project Iana, it works correctly for any menu where there are no nested items. If there are nested items in the menu the sample doesn't get the non-root level items correctly.
2. The full solution is that the passed args need to be of format '#:#' for example for a menu where root items have one level of items under them. Where 'root_item_index:item_index_of_your_item'. This can be found by something like this method, or similar (provided by Telerik) -- keep in mind
this does not account for visible/hidden/etc items, and this will break it off if you have any:
StringBuilder hierarchicalIndex =
(item.Parent != RadMenu1)
item = (RadMenuItem)item.Parent;
3. The samples on this documentation page: http://www.telerik.com/help/aspnet/menu/menu_client-sideapi.html are misleading because they do not give the correct case for the client-side method calls (leading to method not found errors). The demo: http://demos.telerik.com/aspnet-ajax/menu/examples/programming/clientsideapi/defaultcs.aspx for similar functionality is however correct.