Looking at the TV code, I think it would not solve your problem.
Here's something else to try if you're using the MODX default caching scheme. This will simply delete the cache file for that resource. Do it before you try to get the TV value.
/* get resource context and id */
$ctx = $resource->get('context_key');
$docId = $resource->get('id');
/* set path to default cache file */
$path = MODX_CORE_PATH . 'cache/resource/' . $ctx . '/resources/' . $docId . '.cache.php';
unlink($path);
If you're not using the default caching scheme, it would have to look like this:
/* get resource context and id */
$ctx = $resource->get('context_key');
$docId = $resource->get('id');
/* set path to default cache file */
$path = MODX_CORE_PATH . 'cache/resource/' . $ctx . '/resources/' . $docId . '.cache.php';
$ck = $resource->getCacheKey();
$mgrCtx = $modx->context->get('key');
$cKey = str_replace($mgrCtx, $ctx, $ck);
$modx->cacheManager->delete($cKey, array(
xPDO::OPT_CACHE_KEY => $modx->getOption('cache_resource_key', null, 'resource'),
xPDO::OPT_CACHE_HANDLER => $modx->getOption('cache_resource_handler', null,
$modx->getOption(xPDO::OPT_CACHE_HANDLER)),
xPDO::OPT_CACHE_FORMAT => (integer)$modx->getOption('cache_resource_format', null,
$modx->getOption(xPDO::OPT_CACHE_FORMAT, null, xPDOCacheManager::CACHE_PHP))
)
);
/* belt and suspender time */
unlink($path);