For example, if the content loads dynamically and has hashed URLs such as "mysite.com/#/some/page", is that SEO-optimized or will it not be indexed by Google and Bing?
Since search engines do not run javascript, you need to make static html versions for your pages so that they can be indexed by them, and you also need to have a sitemap. There is a library that helps to use this with phantomjs: https://github.com/steeve/angular-seo This is further explained here: http://www.yearofmoo.com/2012/11/angularjs-and-seo.html
There are some paid services that take care of this for you.
Google also has additional information on this subject: https://developers.google.com/webmasters/ajax-crawling/
Even if you have statically created versions of your pages, Google does not follow the ui-sref directives that u-router provides. Your best option is to use ng-href in conjunction with an ajax escaped snippet of a workaround spec. The project I'm currently working on is based on MeanJS , which has an SEO module that implements a shielded fragment and definitely works with Google.
Meanjs includes ui-router, but I use it only from controllers, not from views.