I'll try to keep this short and coherent.
I created an app, a role with capabilities and indexes, added dashboards and panels (from another in-house app we made, but with tighter access control) set it all up (triple checked access control).
When I add "User" for an inherited role, it works. I can view all panels, I can drill down and search.
When I mirror the capabilities of the user, and apply them to my role, it works. Once. When I drill down I am met, in the browser, with the error: "Splunk cannot find the "search" view". In the webservices log, I find: "An unknown view name "search is referenced in the navigation definition for "vmapp".
If I then go back to the dashboard, 2 of my 6 panels are broken. One says "No results found" for a table, and the other says "N/A" for a single value panel. All other panels work and use the same indexes. 2 of the 3 that use a lookup table are broken, so I know it isn't access control on the lookup. This makes no sense, as the panels load correctly until I drill down, then the 2 break. This is repeatable.
I found the issue. It wasn't the actual app permissions for 'search', it was the View permissions, Settings>>User Interface. The view for search was restricted by someone before, limited to like 3 apps. Once I gave read for the group it worked perfect!
@jravida - I moved your comment on this old one to an answer, since you solved the problem and reported the solution. Please accept your answer to mark the question answered.