Нет, в скомпилированном коде нет понятия "немедленный" интерфейс. Ваш класс эффективно скомпилирован как:
class Bar : IBar, IFoo { }
и вы не можете различить их. Единственное, что вы можете сделать, это проверить все из них и посмотреть, наследуют ли два или более интерфейса друг от друга (и даже в этом случае вы не можете проверить, действительно ли автор класса явно упомянул базовый интерфейс в коде или нет):
static IEnumerable<Type> GetImmediateInterfaces(Type type)
{
var interfaces = type.GetInterfaces();
var result = new HashSet<Type>(interfaces);
foreach (Type i in interfaces)
result.ExceptWith(i.GetInterfaces());
return result;
}