The BulletedList control will strip any html you put in it. You will have to subclass it and override it's render method to achieve this.
I use the following to associate a CssClass with the items in the list, which I can then use to pretty them up.
public class CustomBulletedList : BulletedList
{
protected override void Render(HtmlTextWriter writer)
{
var sb = new StringBuilder();
var sw = new StringWriter(sb);
var htmlWriter = new HtmlTextWriter(sw);
base.Render(htmlWriter);
sb = sb.Replace("<div class=notes>", "<div class=notes>");
sb = sb.Replace("</div>", "</div>");
writer.Write(sb.ToString());
}
}