The following code print perfectly to the Brother QL580n label printer. There was an article in InsideSesame this month with code to allow printing direct to Brother label printers. But I like the simplicity and reliability of PrintString.
PrintLabel command button:

n Element Entry
var vSONum as String
var vClientID as String
var vSODate as Date
var vOrderer as String
var vClientPO as String
var vCount as Int
var vLoop as Int
var vAnswer as Int
var vFinal as Int
vSONum = @FORMFIELDVALUE("Orders","SONum",0)
vClientID = @FORMFIELDVALUE("Orders","ClientID",0)
vSODate = @FORMFIELDVALUE("Orders","SODate",0)
vOrderer = @FORMFIELDVALUE("Orders","Orderer",0)
vClientPO = @FORMFIELDVALUE("Orders","ClientPO",0)
If @Mode() < 2
{
vAnswer = @PromptForUserInput("How many labels for this order would you like to print?", "")
vFinal = @ToNumber(vAnswer)
vCount = vFinal
If vCount > 0
{
For vLoop = 1 To vCount
NewPage(840, 240)
PrintPageOrientation(2)
AlternateDefaultPrinter("wcLabel1")
PrintString("ClientID: " + vClientID, 6, 6, 0, " ARIAL", 12, 0)
PrintString("Date: " + vSODate, 150, 6, 0, " ARIAL", 9, 0)
PrintString("For: " + vOrderer, 6, @PageExtentY(), 60, " ARIAL", 10, 0)
PrintString("ClientPO#: " + vClientPO, -1, -1, 0, " ARIAL", 10, 0)
PrintString("Sales Order #: " + vSONum, 6, @PageExtentY(), 0, " ARIAL", 10, 0)
PrintString("---------------------------------------------------", 6, @PageExtentY(), 0, " ARIAL", 10, 0)
PrintString("MyCompany xxx-xxx-xxxx", 10, @PageExtentY(), 0, " ARIAL", 9, 0)
FinishPage()
Next
RestoreDefaultPrinter()
}
}