Some Tasks started through RunAsync are converted to so-called Client Side Tasks (vs Server Side Tasks).
These Client Side Server tasks will show a different type of Task.
Also, the Get-Task cmdlet clearly states "The cmdlet retrieves information about the current or recent tasks"
That could be another reason why the Tasks shows as canceled, it is simply not there anymore (in the RecentTask property in the TaskManager object)
That was one of the reasons I wrote my Get-TaskPlus function in my Task Data Mining – An improved Get-Task post.
You might want to try that function, but be warned that it has issues with these Client Side Tasks.
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference