Sorry, the example was not the right one. Try this:

B=BraidGroup(20)
b=B([11, 10, 7, -15, -12, 17, -18, -3, -11, 2, 6, -15, -12, 4, 13, -1, 5, 18, 
-3, 11, -9, 18, -12, -10, 2, 15, -11, 18, -9, -4, -2, -2, 18, -10, 12, -11,10, 
-3])
L=Link(b)
L._braidwordcomponents()
[[7, -3, 2, 6, 4, -1, 5, -3, 2, -4, -2, -2, -3],
 [11, 10, -12, -11, -12, 13, 11, -9, -12, -10, -11, -9, -10, 12, -11, 10],
 [-15, 17, -18, -15, 18, 18, 15, 18, 18]]

Notice that the last component is in fact two components: the 16 is not there.

I think that the error comes from the fact that you don't sort the missing 
crossings.


About this:

B([1,-1])

1

It is perfectly normal. The result is the identity element in the braid group, 
which is represented with a 1. But that does not mean that its Tietze list is 
[1], indeed, if you do:

b=B([1,-1])
b.Tietze()


you get 
 

()

as expected.