Calling a view from code gives no results
The View set_arguments() method takes an array as it's first parameter; currently you're passing a string/int.

This code will work.

$view-&gt;set_arguments(array($account-&gt;uid));


I think you're right about the C-style access to a string-as-an-array-of-chars in PHP. The following code prints the letter e, which would certainly support that theory.

$x = 'test';
print $x[1];


I must say I'm surprised that Views doesn't check the validity of the parameter passed to it, but hey ho!