There is no way to tell if file failed upload to BoxNet as result of upload is always nil. Problem can be seen in your UCloudStorageDemo:
var nci: TCloudItem;
begin
nci := Storage.Upload(ci, fn);
if nci = nil then showmessage('always returns nil here')
else
showmessage('Never gets here');
end;