Creating a custom views access plugin
It seems like the sample.views.inc file does not get loaded during the access-check (as the registry already cached the information which callback it needs to execute).

So you can just move sample_access() to the file sample.module and the callback works.