2 (a) That's probably right. B's failure to place a warning label on a jar of sugar in which he has mixed toxins is a breach of a duty of care. Even so, courts take a realistic view of cases involving a failure to warn of danger, because people often ignore warnings. For this reason, a plaintiff must prove on a balance of probabilities that they would have heeded the warning and avoided the danger.
In this case, B would be liable for the harm to A if it could be proved that A would not have eaten sugar labelled as poisonous. This should not be difficult to prove in the circumstances. The question is tested subjectively rather than objectively, in other words, on the basis of what the particular plaintiff was likely to do.