Argument order was wrong to begin with when the function was introduced in Joomla 3.1, $categoryId and $id were not used at all. Nor is $categoryId needed to calculate access rights for every component, it seems that it was modeled based on com_content, which was not abstract enough. But since backward compatibility is important, I think the best way is to check if someone used old argument order, adjust appropriately, and att JLog that such call has been deprecated. Something like

if(is_int($component) || is_null($component)) {
	// call old function
}