Just found that solrj doesnot use commitwithin while using deletebyid. This issue is discussed in http://grokbase.com/t/lucene/solr-user/1275gkpntd/deletebyid-commitwithin-question
Faced the same issue today and found that, in org.apache.solr.client.solrj.request.UpdateRequest when new UpdateRequest is created in getRoutes() method ( Line number 244 ), the setCommitWithin param is not set in the urequest variable as it is done few lines above (Line number 204) This causes setCommitWithin to revert to default value of -1 and the commit does not happen. Tried setting that like,
urequest.setCommitWithin(getCommitWithin()) and the feature is enabled from SolrJ.