1) ngen нужно применить к головному exe файлу и всем библиотекам вашей программы (сторонние библиотеки -- по желанию).
2) ngen применяется на компьютере конечного пользователя (например, как подсказали выше, во время инсталляции). Запустить ngen у себя на машине, а потом скопировать приложение пользователю -- так работать не будет.
Ну и чтобы убедиться, что во время работы приложения подгружаются действительно нативные сборки, воспользуйтесь Fuslogvw.exe из состава Visual Studio, документация есть на сайте MSDN.