Block Node Access After A Certain Amount of Views
You can control it using hook_node_access($node, $operation, $account) for Drupal 7. For Drupal 6 one can use hook_nodeapi() for similar result.

When $operation is view, first update usage index for that $account (you need a database table with nid and uid as keys, and number of uses field) and then test if he still can see it, or no. Return appropriate NODE_ACCESS_* constant. Done.

Of course you will need to write your own module, but I guess it'll take less time to wrap simple function in a module than to hack 3 or 4 modules to work together in a way they was never designed to.