Just got a reply from Magnus on this :)
Code:
// Expected command format: 
// Mode + PID + Replies to gather (optional) 
// 'M' + HH + 'P' + HH + 'S' + HH + 'R' + H 
// 
// Where "HH" is two hex ASCII bytes (e.g. 'F' 'F' for 0xFF). 'M' is for Mode, 
// 'P' is for PID, 'S' is for size of PID data reply, and 'R' is for reply count. 
// Note that the 'R' data is a single hex digit (e.g. '2'). 
// 
// Example PID request for Mode 1 PID 4, get only 1st reply: 
// 'M' '0' '1' 'P' '0' '4' 'S' '0' '1' 'R' '1' 
// Example, same as above but get all replies (return last reply) 
// 'M' '0' '1' 'P' '0' '4' 'S' '0' '1'
Will be playing around this weekend, stay tuned (yes, that was a bad pun!)
Jp