I am hoping that instead of
$F0 $41 10 00 00 00 0E 12 19 20 00 00 val cks-1 (starting index:8) F7
you are using
$F0 $41 $10 $00 $00 $00 $0E $12 $19 $20 $00 $00 val cks-1 $08 $F7
The "$" means hexadecimal (hex) in BCL and without it the BC will reject the message.
$F0 $41 $10 0 0 0 $0E $12 $19 $20 0 0 val cks-1 8 $F7
This is OK as well as the BC doesn't mind you mixing hex (with the "$") and decimal (without the "$")
But you might find you have fewer mistakes if everything is in hex.
Using 19 when you meant $19 will be a mistake that is hard to spot because the BC is quite happy to use either $19 or 19
But $19 is (1 x 16) + 9 = 25 decimal
If you are new to hex, I have a great (he says modestly) little conversion program on my web site -
It even has a way to calculate a hex number list into a checksum, BUT it doesn't wan't a $ for each number and calculates all the numbers.
That is, it doesn't have an offset so for Roland things only use the address and value.
So for a value of 7 in your sysex message type in 19 20 0 0 7 .
The checksum is calculated as you type so it is easy to vary the value or edit the address and quickly get the new checksum.
Here is a pic
Here is the web page
All the best
Royce