Good work! I was about to suggest that you check the length parameter. My short example had neither applicationServerExecution or presentationClientExecution, and was written on Jade 7.0 64-bit.
After a quick revision on HMAC it would seem that the block size is tied to the internal block size of the hash function. So SHA-512 has twice the block size of SHA-256. I would expect that everything gets scaled accordingly. Keys shorter than the block size are always padded to fill exactly one block with zeros. The inner padding #[36 36 36...36 36] and outer padding #[5C 5C 5C 5C...5C 5C] will have to be scaled to the bigger block size. However, you should check what specification you are writing to, in case there's any variation on that.