It appears that image TVs are processed to automatically include the base_url in the TV output, and phpthumbof also prepends the configuration's document_root to the image's path when it determines the full path to the image. This results in the base_url part being doubled.
ResolveFilenameToAbsolute() prepending $this->config_document_root (/Applications/MAMP/htdocs/hah2/) to $filename (/hah2/assets/images/gear/hat-camo-std.jpg) resulting in ($AbsoluteFilename = "/Applications/MAMP/htdocs/hah2//hah2/assets/images/gear/hat-camo-std.jpg") in file "phpthumb.class.php" on line 1025
As you can see, phpthumb is prepending the entire document root, in this case including a subdirectory (/hah2/) to the filename of the TV, which also contains the subdirectory.
Image TVs themselves only store the file's name, such as hat-camo-std.jpg as in this debug output. Somewhere along the line the TV's output is processed to include the absolute URL. This dual addition of the base_url at both stages of processing (MODx itself and phpthumb) results in the duplication of the base_url.
If line 1024 of core/model/phpthumb/phpthumb.class.php is modified to prepend only the part of the base_path before the subdirectory, then it works. Not the omission of a final /
//$AbsoluteFilename = $this->config_document_root.$filename;
$AbsoluteFilename = '/Applications/MAMP/htdocs'.$filename;
However, this is not an acceptable solution to the problem.